博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

基于jQuery的上下无缝滚动应用(单行或多行)

Posted on 2010-10-12 19:55  linFen  阅读(626)  评论(0编辑  收藏  举报

基于jQuery的上下无缝滚动应用(单行或多行)

基于jQuery的上下无缝滚动应用,可应用于多行或者单行.详解请参考注释.
查看演示: 点此查看DEMO
核心jQuery代码:

$(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 _=_field.height();//取得每次滚动高度(多行滚动情况下,此变量不可置于开始处,否则会有间隔时长延时)
            
_field.animate({marginTop:-_h+'px'},600,function(){//通过取负margin值,隐藏第一行
                
_field.css('marginTop',0).appendTo(_wrap);//隐藏后,将该行的margin值置零,并插入到最后,实现无缝滚动
            
})
        
},_interval)//滚动间隔时间取决于_interval
    
}).trigger('mouseleave');//函数载入时,模拟执行mouseleave,即自动滚动
});

原文发布于Mr.Think的个人博客:
http://mrthink.net/js-jq-autoscroll-updown/