簡單效果圖:
html:
<div class="box"> <ul> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> </div>
css:
.box{ width: 200px; height: 80px; margin: 200px auto; border: 1px solid red; } .box>ul{ clear: both; overflow: hidden; margin-left: 20px; } .box>ul>li{ width: 4px; height: 40px; margin: 20px 5px 0 0px; background: skyblue; float: left; position: relative; }
js:
$(function(){ big($(".box>ul>li")); }) var i=-1; function big(obj){ var li_len=obj.length; var li_h=obj.height(); var a_h=li_h+40; setInterval(function(){ i++; if(i==li_len){ i=0; } obj.eq(i).animate({ "height":a_h, "top":-20+"px" },800); obj.eq(i-1).animate({ "height":li_h, "top":0 },800) },200) }
動畫執行速度與定時器每次間隔時間自己可以按需求修改。如果兩個的速度不一樣的話,反正測試的時候,當當前瀏覽器頁面最小化,然后再最大化時動畫就會有問題,搞不清楚原因