tab切换效果 网站中的图片自动切换
网站中的图片自动切换
今天上一套tab切换效果的代码





动图就自己实现吧!
下面贴HTML代码,大体分两部分,图片div和按钮div,代码很容易看懂~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<script type="text/javascript" src="indexpic.js"></script>
<link rel="stylesheet" type="text/css" href="indexpic.css">
</head>
<body>
<div id="main" class="main">
<div id="pic" class="pic">
<div id="pictures" class="pictures">
<div id="p1" class="p" style="display: block;background-color: red">
<!-- <img src="img/1.jpg"> -->
</div>
<div id="p2" class="p" style="display: none;background-color: yellow">
<!-- <img src="img/2.jpg"> -->
</div>
<div id="p3" class="p" style="display: none;background-color: blue">
<!-- <img src="img/3.jpg"> -->
</div>
<div id="p4" class="p" style="display: none;background-color: green">
<!-- <img src="img/4.jpg"> -->
</div>
<div id="p5" class="p" style="display: none;background-color: pink">
<!-- <img src="img/5.jpg"> -->
</div>
</div>
<div class="btn">
<button style="background: #ed6911;">1</button>
<button>2</button>
<button>3</button>
<button>4</button>
<button>5</button>
</div>
</div>
</div>
</body>
</html>
这个还是比较简单的div结构,下面是对应的css代码
button{ background: none; border: 1px solid black; } .btn{ margin-top: -35px; padding-left: 340px; } .p{ width: 100%; height: 170px } #main{ width: 490px; height: 280px; margin: 0 auto; } #pictures{ height: 170px; width: 100%; margin-top: 110px; }
对所有div的简单布局,最后主要实现功能~所以重要的js代码如下:
window.onload=tab; function tab(){ //定义索引和定时器 var index=0; var timer=null; //获取按钮和div的个数 var bt=document.getElementsByTagName('button'); var divs=document.getElementsByClassName('p'); //设定mouseover和mouseout事件 for(var i=0;i<bt.length;i++){ bt[i].id=i; bt[i].onmouseover=function(){ clearInterval(timer); changeOption(this.id); } bt[i].onmouseout=function(){ timer=setInterval(autoPlay,2000); } } //清除和设置定时器 if(timer){ clearInterval(timer); timer=null; } timer=setInterval(autoPlay,2000); //自动播放函数 function autoPlay(){ index++; if(index>=bt.length){ index=0; } changeOption(index); } //获取当前button索引值 function changeOption(curIndex){ for(var j=0;j<bt.length;j++){ bt[j].style.background='none'; divs[j].style.display='none'; } bt[curIndex].style.background='#ed6911'; divs[curIndex].style.display='block'; index=curIndex; } }

浙公网安备 33010602011771号