<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自動簡易選項卡</title>
<style type="text/css">
*{padding: 0px;margin: 0px;list-style: none;}
#div1 ul{
display: inline-block;
}
li{
float: left;border: 1px solid #ccc;width: 60px;height: 30px;line-height: 30px;text-align: center;cursor: pointer;
}
#div1 div{
width: 245px;height: 100px;background: pink;display: none;
}
</style>
<script type="text/javascript">
window.οnlοad=function(){
var oDiv1 = document.getElementById('div1');
var aLi = oDiv1.getElementsByTagName('li');
var aDiv = oDiv1.getElementsByTagName('div');
var timer=null;
var num=0;
var len=aLi.length;
// alert(aLi.length);
// alert(aDiv[0].innerHTML);
for(var i=0;i<aLi.length;i++){
// index是自定義的一個屬性,不能直接加在html中,瀏覽器會過濾掉它,報錯,但是通過js添加,就沒有問題:目的:讓內容與this有上關係,以便操作內容
aLi[i].index=i;
aLi[i].οnmοuseοver=function(){
clearInterval(timer);
num=this.index;//把當前選項卡轉換成鼠標當前經過的選項卡
set_attr();
}
aLi[i].οnmοuseοut=function(){
autoplay();
}
}
// 第一步,設置需變化的屬性函數
function set_attr(){
// 其他不需要變化的選項卡
for(var i=0;i<aLi.length;i++){
aLi[i].style.background = '';
aDiv[i].style.display='none';
}
// 當前變化的選項卡
aLi[num].style.background = 'red';
aDiv[num].style.display='block';
}
// 第二步,設置自動播放函數,自動播放條件是每隔1s讓num(當前變化的選項卡下標)加1
function autoplay(){
timer= setInterval(function(){
set_attr();
num=(++num)%len;//取模配合定時器下的自加,就能構成循環
},1000)
}
//初始化函數,並自動播放
autoplay();
}
</script>
</head>
<body>
<div id="div1">
<ul>
<li>教育</li>
<li>培訓</li>
<li>工作</li>
<li>生活</li>
</ul>
<div>教育是asdhjk</div>
<div>培訓是asdhjk</div>
<div>工作是asdhjk</div>
<div>生活是asdhjk</div>
</div>
</body>
</html>
自動選項卡
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.