jQuery實現上下無縫滾動代碼實例

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

相關文章
相關標籤/搜索