<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>原生js手風琴特效</title>
<style>
*{
margin: 0;
padding: 0;
}
ul,li{
list-style: none;
}
.box{
width: 1050px;
height: 300px;
margin: 100px auto;
overflow: hidden;
}
.accordion li{
float: left;
width: 100px;
height: 300px;
color: #000;
font-size: 20px;
}
</style>
</head>
<body>
<p class="box">
<ul class="accordion">
<li style="background: #f99;">1</li>
<li style="background: #9ff;">2</li>
<li style="background: #f9f;">3</li>
<li style="background: #9f9;">4</li>
<li style="background: blue;">5</li>
<li style="width:450px;background: yellow;">6</li>
</ul>
</p>
<script>
function accordion(){
var oBox = document.querySelector(".box");
var accordion = oBox.querySelector(".accordion");
var oList = accordion.getElementsByTagName("li");
var i = 0;
var timer = null;
//console.log(oList.length);
for(var i=0;i<oList.length;i++){
oList[i].index = i;
oList[i].onmouseover = function(){
var index = this.index;
if(timer){
clearInterval(timer);
}
timer = setInterval(function(){
var iWidth = oBox.offsetWidth; //盒子的總寬度
//console.log(iWidth); 1050
for(var i=0;i<oList.length;i++){
if( index != oList[i].index ){
//設定速度
var speed = ( 100 - oList[i].offsetWidth) / 5;
speed = speed > 0 ? Math.ceil(speed):Math.floor(speed);
oList[i].style.width = oList[i].offsetWidth + speed + "px";
iWidth -= oList[i].offsetWidth;
}
oList[index].style.width = iWidth + "px";
}
},30);
}
}
}
accordion();
</script>
</body>
</html>
看文倉www.kanwencang.com網友整理上傳,為您提供最全的知識大全,期待您的分享,轉載請注明出處。
歡迎轉載:http://www.kanwencang.com/bangong/20170228/108229.html
文章列表