jQuery實現上下無縫滾動代碼實例javascript
$(function(){
var _wrap=$('ul.line');//定義滾動區域
var _interval=2000;//定義滾動間隙時間
var _moving;//須要清除的動畫
_wrap.hover(function(){
clearinterval(_moving);//當鼠標在滾動區域中時,中止滾動
},function(){
_moving=setinterval(function(){
var _field=_wrap.find('li:first');//此變量不可放置於函數起始處,li:first取值是變化的
var _h=_field.height();//取得每次滾動高度(多行滾動狀況下,此變量不可置於開始處,不然會有間隔時長延時)
_field.animate({margintop:-_h+'px'},600,function(){//經過取負margin值,隱藏第一行
_field.css教程('margintop',0).appendto(_wrap);//隱藏後,將該行的margin值置零,並插入到最後,實現無縫滾動
})
},_interval)//滾動間隔時間取決於_interval
}).trigger('mouseleave');//函數載入時,模擬執行mouseleave,即自動滾動
});
完整實例代碼css
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<style>
/*demo css*/
#demo h2{background:#a40000; font-size:12px; color:#fff; font-weight:normal; text-align:center; width:100px; height:25px;line-height:25px; margin:30px 0 0 20px}
#demo ul.line,#demo ul.mulitline{width:500px; height:30px; background:#eee; overflow:hidden;margin-bottom:20px;border:2px solid #a40000}
#demo ul.mulitline{height:90px}
#demo li{height:30px;text-indent:15px; font-size:12px; line-height:30px;list-style:none}
</style>
<script>
/*******************************
* @www.3ppt.com可自由轉載及使用,但請註明版權歸屬
*******************************/
$(function(){
//單行應用@mr.think
var _wrap=$('ul.line');//定義滾動區域
var _interval=2000;//定義滾動間隙時間
var _moving;//須要清除的動畫
_wrap.hover(function(){
clearinterval(_moving);//當鼠標在滾動區域中時,中止滾動
},function(){
_moving=setinterval(function(){
var _field=_wrap.find('li:first');//此變量不可放置於函數起始處,li:first取值是變化的
var _h=_field.height();//取得每次滾動高度
_field.animate({margintop:-_h+'px'},600,function(){//經過取負margin值,隱藏第一行
_field.css('margintop',0).appendto(_wrap);//隱藏後,將該行的margin值置零,並插入到最後,實現無縫滾動
})
},_interval)//滾動間隔時間取決於_interval
}).trigger('mouseleave');//函數載入時,模擬執行mouseleave,即自動滾動
});
$(function(){
//多行應用@mr.think
var _wrap=$('ul.mulitline');//定義滾動區域
var _interval=3000;//定義滾動間隙時間
var _moving;//須要清除的動畫
_wrap.hover(function(){
clearinterval(_moving);//當鼠標在滾動區域中時,中止滾動
},function(){
_moving=setinterval(function(){
var _field=_wrap.find('li:first');//此變量不可放置於函數起始處,li:first取值是變化的
var _h=_field.height();//取得每次滾動高度
_field.animate({margintop:-_h+'px'},600,function(){//經過取負margin值,隱藏第一行
_field.css('margintop',0).appendto(_wrap);//隱藏後,將該行的margin值置零,並插入到最後,實現無縫滾動
})
},_interval)//滾動間隔時間取決於_interval
}).trigger('mouseleave');//函數載入時,模擬執行mouseleave,即自動滾動
});
</script>java<div id="demo">
<h2>單行應用</h2>
<ul class="line">
<li><a title="簡易的點擊展開/關閉效果(原生js版和jq版)" href="/js-jq-click-openclose/">簡易的點擊展開/關閉效果(原生js版和jq版)</a> 2010年08月02日 (6)</li>
<li><a title="getelementsbytagname的簡寫方式" href="/javascrip-simple-getelementsbytagname/">getelementsbytagname的簡 寫方式</a> 2010年06月24日 (4)</li>
<li><a title="一個簡單的鼠標劃過切換效果" href="/script-mousechange-simple/">一個簡單的鼠標劃過切換效果</a> 2010年05月23日 (4)</li><li><a title="奇或偶數行高亮顯示及鼠標劃太高亮顯示類" href="/網頁特效-tagnames-highlight/">奇或偶數行高亮顯示及鼠標劃太高亮顯示類</a> 2010年05月05日 (5)</li>
<li><a title="一個簡單的縱橫向動畫效果類" href="/javascrip-dom-slide-simple/">一個簡單的縱橫向動畫效果類</a> 2010年05月02日 (4)</li><li><a title="document.getelementbyid的簡寫方式" href="/javascript-getbyid-simplewrite/">document.getelementbyid的簡寫方式& amp; lt;/a> 2010年04月18日 (1)</li>
<li><a title="兩種簡單實現菜單高亮顯示的js類" href="/javascript-highlight-menu-twoway/">兩種簡單實現菜單高亮顯示的js類</a> 2010年04月17日 (10)</li>
</ul>
<!--//jq版本//-->
<h2>多行應用</h2>
<ul class="mulitline">
<li><a title="一個簡單的鼠標劃過切換效果" href="/script-mousechange-simple/">一個簡單的鼠標劃過切換效果</a> 2010年05月23日 (4)</li><li><a title="奇或偶數行高亮顯示及鼠標劃太高亮顯示類" href="/javascript-tagnames-highlight/">奇或偶數行高亮顯示及鼠標劃太高亮顯示類</a> 2010年05月05日 (5)</li>
<li><a title="getelementsbytagname的簡寫方式" href="/javascrip-simple-getelementsbytagname/">getelementsbytagname的簡 寫方式</a> 2010年06月24日 (4)</li>
<li><a title="兩種簡單實現菜單高亮顯示的js類" href="/javascript-highlight-menu-twoway/">兩種簡單實現菜單高亮顯示的js類</a> 2010年04月17日 (10)</li>
<li><a title="簡易的點擊展開/關閉效果(原生js版和jq版)" href="/js-jq-click-openclose/">簡易的點擊展開/關閉效果(原生js版和jq版)</a> 2010年08月02日 (6)</li>
<li><a title="一個簡單的縱橫向動畫效果類" href="/javascrip-dom-slide-simple/">一個簡單的縱橫向動畫效果類</a> 2010年05月02日 (4)</li><li><a title="document.getelementbyid的簡寫方式" href="/javascript-getbyid-simplewrite/">document.getelementbyid的簡寫方式& amp; lt;/a> 2010年04月18日 (1)</li>
</ul>
<!--//多行應用//-->
</div>jquery