核心代码
详解请参考注释.
代码如下 | 复制代码 |
$(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,即自动滚动 }); |
html代码
代码如下 | 复制代码 |
<!--DEMO start--> <div id="demo"> <h2>单行应用</h2> <ul class="line"> <li><a title="简易的点击展开/关闭效果(原生JS版和JQ版)" href="">简易的点击展开/关闭效果(原生JS版和JQ版)</a> 2010年08月02日 (6)</li> <li><a title="getElementsByTagName的简写方式" href="">getElementsByTagName的简写方式</a> 2010年06月24日 (4)</li> </ul> <!--//jQ版本//--> <h2>多行应用</h2> <ul class="mulitline"> <li><a title="一个简单的鼠标划过切换效果" href="">一个简单的鼠标划过切换效果</a> 2010年05月23日 (4)</li><li><a title="奇或偶数行高亮显示及鼠标划过高亮显示类" >奇或偶数行高亮显示及鼠标划过高亮显示类</a> 2010年05月05日 (5)</li> </ul> <!--//多行应用//--> </div> <!--DEMO end--> |
时间: 2024-09-18 00:38:06