<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/**
* æ¨¡å—ä¸Šä¸‹æ»šå±
* åŽŸä½œè€…ï¼šæœªçŸ¥
* æ‰©å±•ï¼šé²æŒ¯å…´
* ç»“æž„å¿…é¡»ä¸ºul&gt;li
* è°ƒç”¨ï¼š$("#scrollDiv").Scroll({line:1,speed:500,timer:3000,direction:"up",up:"btn1",down:"btn2"});
*/
(function($) {
	$.fn.extend({
		Scroll: function(opt, callback) {
			//å‚æ•°åˆå§‹åŒ–
			if (!opt) var opt = {};
			var _btnUp = $("#" + opt.up); //Shawphy:å‘ä¸ŠæŒ‰é’®
			var _btnDown = $("#" + opt.down); //Shawphy:å‘ä¸‹æŒ‰é’®
			var timerID;
			var _this = this.eq(0).find("ul:first");
			var lineH = _this.find("li:first").height(),
			//èŽ·å–è¡Œé«˜
			line = opt.line ? parseInt(opt.line, 10) : parseInt(this.height(), 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;
			//æ»šåŠ¨å‡½æ•°
			var scrollUp = function() {
				_btnUp.unbind("click", scrollUp); //Shawphy:å–æ¶ˆå‘ä¸ŠæŒ‰é’®çš„å‡½æ•°ç»‘å®š
				_this.stop().animate({
					marginTop: upHeight
				},
				speed,
				function() {
					for (i = 1; i &lt;= line; i++) {
						_this.find("li:first").appendTo(_this);
					}
					_this.css({
						marginTop: 0
					});
					_btnUp.bind("click", scrollUp); //Shawphy:ç»‘å®šå‘ä¸ŠæŒ‰é’®çš„ç‚¹å‡»äº‹ä»¶
				});

			}
			//Shawphy:å‘ä¸‹ç¿»é¡µå‡½æ•°
			var scrollDown = function() {
				_btnDown.unbind("click", scrollDown);
				for (i = 1; i &lt;= line; i++) {
					_this.find("li:last").show().prependTo(_this);
				}
				_this.css({
					marginTop: upHeight
				});
				_this.animate({
					marginTop: 0
				},
				speed,
				function() {
					_btnDown.bind("click", scrollDown);
				});
			}
			//Shawphy:è‡ªåŠ¨æ’­æ”¾
			var autoPlay = function() {
				if(opt.direction == 'up'){
					if (timer) timerID = window.setInterval(scrollUp, timer);
				}else if(opt.direction == 'down'){
					if (timer) timerID = window.setInterval(scrollDown, timer);
				};
			};
			var autoStop = function() {
				if (timer) window.clearInterval(timerID);
			};
			//é¼&nbsp;æ&nbsp;‡äº‹ä»¶ç»‘å®š
			_this.hover(autoStop, autoPlay).mouseout();
			_btnUp.css("cursor", "pointer").click(scrollUp).hover(autoStop, autoPlay); //Shawphy:å‘ä¸Šå‘ä¸‹é¼&nbsp;æ&nbsp;‡äº‹ä»¶ç»‘å®š
			_btnDown.css("cursor", "pointer").click(scrollDown).hover(autoStop, autoPlay);
		}
	});
})(jQuery);</pre></body></html>