(function($) {
    $.fn.Scroll = function(opt, callback) {
        //参数初始化
        var self = this;
        this.timerID;
        if (!opt) var opt = {};
        var _this = this.eq(0).find("ul:first");
        this.lineH = _this.find("li:first").height(); //获取行高
        this.line = opt.line ? parseInt(opt.line, 10) : parseInt(this.height() / lineH, 10); //每次滚动的行数，默认为一屏，即父容器高度
        this.speed = opt.speed ? parseInt(opt.speed, 10) : 500; //卷动速度，数值越大，速度越慢（毫秒）
        this.timer = opt.timer ? parseInt(opt.timer, 10) : 3000; //滚动的时间间隔（毫秒）
        this.colsize = opt.colsize ? opt.colsize : 1;
        if (self.line == 0) self.line = 1;
        this.upHeight = 0 - self.line * self.lineH;
        //滚动函数
        this.scrollUp = function() {
            _this.animate({
                marginTop: self.upHeight
            }, self.speed, function() {
                _this.find("li").slice(0, self.colsize * self.line).appendTo(_this);
                _this.css("marginTop", 0);
            });
        }
        //鼠标事件绑定
        _this.hover(function() {
            clearInterval(self.timerID);
        }, function() {
            self.timerID = setInterval(function() { self.scrollUp(); }, self.timer);
        }).mouseout();
    }
})(jQuery);
