﻿

//说明：滚动插件
//      多行文字滚动，不是一起滚动，而是一下子滚动几行，然后暂停，等等，再继续滚动
//  使用用例：$("#scrollDiv").ScrollText({parentEl:"table",childEl:"tr",line:1,speed:1000,timer:3000}); //一次滚动的函数，滚动速度，暂停时间
//
//作者：jasnken
//历史：
//  2010-03-16：创建

(function($){
$.fn.extend({
        ScrollText:function(opt,callback){
                //参数初始化
                if(!opt) var opt={};
                var parentEl=opt.parentEl?opt.parentEl:"ul"; //父元素targetName
                var childEl=opt.childEl?opt.childEl:"li";
                var _this=this.eq(0).find(parentEl+":first");
                var     lineH=_this.find(childEl+":first").height(), //获取行高
                        line=opt.line?parseInt(opt.line,10):parseInt(this.height()/lineH,10), //每次滚动的行数，默认为一屏，即父容器高度
                        speed=opt.speed?parseInt(opt.speed,10):500, //卷动速度，数值越大，速度越慢（毫秒）
                        timer=opt.timer?parseInt(opt.timer,10):3000; //滚动的时间间隔（毫秒）

                if(line==0) line=1;
                var upHeight=0-line*lineH;
                //滚动函数
                scrollUp=function(){
                        _this.animate({
                                marginTop:upHeight
                        },speed,function(){
                                for(i=1;i<=line;i++){
                                        _this.find(childEl+":first").appendTo(_this);
                                }
                                _this.css({marginTop:0});
                        });
                }
                //鼠标事件绑定
                var timerID=setInterval("scrollUp()",timer);

                _this.hover(function(){
                        clearInterval(timerID);
                },function(){
                        timerID=setInterval("scrollUp()",timer);
                });
        }        
})
})(jQuery);
