<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http://www.w3.org/1999/xhtml ">
<голова>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
</голова>
<тело>
<тип сценария="текст/javascript">
вар $ = функция (id) {
вернуть "строку" == идентификатор типа? document.getElementById(id): идентификатор;
};
вар Класс = {
создать: функция() {
функция возврата() {
this.initialize.apply(это, аргументы);
}
}
}
Object.extend = функция(назначение, источник) {
for (var PROperty в исходном коде) {
назначение [свойство] = источник [свойство];
}
обратный пункт назначения;
}
функция addEventHandler(oTarget, sEventType, fnHandler) {
если (oTarget.addEventListener) {
oTarget.addEventListener(sEventType, fnHandler, false);
} еще если (oTarget.attachEvent) {
oTarget.attachEvent("on" + sEventType, fnHandler);
} еще {
oTarget["on" + sEventType] = fnHandler;
}
};
вар Scroller = Class.create();
Скроллер.прототип = {
инициализировать: функция (idScroller, idScrollMid, параметры) {
вар oScroll = это, oScroller = $(idScroller), oScrollMid = $(idScrollMid);
this.heightScroller = oScroller.offsetHeight;
this.heightList = oScrollMid.offsetHeight;
if(this.heightList <= this.heightScroller) return;
oScroller.style.overflow = "скрытый";
oScrollMid.appendChild(oScrollMid.cloneNode(true));
this.oScroller = oScroller;
this.timer = ноль;
this.SetOptions(опции);
this.side = 1;//1 шаг -1 шаг
переключатель (this.options.Side) {
корпус «вниз»:
this.side = -1;
перерыв;
дело «вверх»:
по умолчанию :
this.side = 1;
}
addEventHandler(oScrollMid, "mouSEOver", function() { oScroll.Stop(); });
addEventHandler(oScrollMid, "mouseout", function() { oScroll.Start(); });
if(this.options.PauseStep <= 0 || this.options.PauseHeight <= 0) this.options.PauseStep = this.options.PauseHeight = 0;
это.Пауза = 0;
это.Начать();
},
//设置默认属性
SetOptions: функция (опции) {
this.options = {//默认值
Шаг: 1, // 每次变化的px量
Время: 20,//速度(越大越慢)
Сторона: «вверх», //滚动方向: «вверх»是上, «вниз»是下
PauseHeight: 0,//隔多高停一次
PauseStep: 1000 // 停顿时间(PauseHeight大于0 该参数才有效)
};
Object.extend(this.options, options || {});
},
//滚动
Прокрутка: функция() {
var iScroll = this.oScroller.scrollTop, iHeight = this.heightList, time = this.options.Time, oScroll = this, iStep = this.options.Step * this.side;
если(this.side > 0){
if(iScroll >= (iHeight * 2 - this.heightScroller)){ iScroll -= iHeight; }
} еще {
если (iScroll <= 0) { iScroll += iHeight; }
}
если (this.options.PauseHeight > 0) {
if(this.Pause >= this.options.PauseHeight){
время = this.options.PauseStep;
это.Пауза = 0;
} еще {
this.Pause += Math.abs(iStep);
this.oScroller.scrollTop = iScroll + iStep;
}
} Еще { this.oScroller.scrollTop = iScroll + iStep; }
this.timer = window.setTimeout(function(){ oScroll.Scroll(); }, time);
},
//开始
Начало: функция() {
это.Прокрутка();
},
//停止
Стоп: функция() {
ClearTimeout(this.timer);
}
};
window.onload = функция(){
новый Scroller("idScroller", "idScrollMid", {PauseHeight:25 });
}
</скрипт>
<стиль>
#idScroller *{margin:0px; отступ: 0 пикселей;}
#idScroller{line-height:25px;width:100%; высота: 25 пикселей; переполнение: скрыто; граница: 1 пиксель сплошной #000000;}
#idScroller ul{ширина:100%}
#idScroller li{ширина:20%; плавать: влево; переполнение: скрыто; стиль списка: нет;}
</стиль>
<div id="idScroller">
<div id="idScrollMid">
<ул>
<li> <a href=" http://www.devdao.com/">www.devdao.com</a></li >
<li> <a href=" http://www.devdao.com/">www.devdao.com</a></li >
<li> <a href=" http://www.devdao.com/">www.devdao.com</a></li >
<li> <a href=" http://www.devdao.com/">www.devdao.com</a></li >
<li> <a href=" http://www.devdao.com/">www.devdao.com</a></li >
<li> <a href=" http://www.devdao.com/">www.devdao.com</a></li >
</ul>
<div style="clear:both;"></div>
</div>
</div>
</тело>
</html>