JQuery-跑馬燈(文字無縫向上翻動-封裝)
阿新 • • 發佈:2019-01-10
(function($){ $.fn.extend({ "slideUp":function(value){ var docthis = this; //預設引數 value=$.extend({ "li_h":"30", "time":2000, "movetime":1000 },value) //向上滑動動畫 function autoani(){ $("li:first",docthis).animate({"margin-top":-value.li_h},value.movetime,function(){ $(this).css("margin-top",0).appendTo(".line"); }) } //自動間隔時間向上滑動 var anifun = setInterval(autoani,value.time); //懸停時停止滑動,離開時繼續執行 $(docthis).hover(function(){ clearInterval(anifun); //清除自動滑動動畫 },function(){ setInterval(autoani,value.time); //繼續執行動畫 }) } }) })(jQuery)
主要思路:
滑動動畫,就是改變元素的位置,要改變元素的位置有兩種方法,一種改變left,top屬性(相對定位和絕對定位),還有一種,就是現在這裡用到的,改變margin的值。
上例中動畫過程:
1.設定要改變margin-top的值;
2.用animate方法改變第一個LI的margin-top的值為-30(負值會向上移動);
3.在動畫完成之後,回撥函式內,把當前的第一個LI的margin-top改變為"0"
4.把當前這第一個LI移動到所有LI的最後一個。(實現無縫)