<!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 ">
<cabeça>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<título></título>
</head>
<corpo>
<script type="texto/javascript">
var $ = função (id) {
retornar "string" == tipo de id? document.getElementById(id): id;
};
var Classe = {
criar: função() {
função de retorno() {
this.initialize.apply(isto, argumentos);
}
}
}
Object.extend = function(destino, origem) {
for (var PRoperty na fonte) {
destino[propriedade] = origem[propriedade];
}
destino de retorno;
}
function addEventHandler(oTarget, sEventType, fnHandler) {
if (oTarget.addEventListener) {
oTarget.addEventListener(sEventType, fnHandler, false);
} senão if (oTarget.attachEvent) {
oTarget.attachEvent("on" + sEventType, fnHandler);
} outro {
oTarget["on" + sEventType] = fnHandler;
}
};
var Scroller = Class.create();
Scroller.prototype = {
inicializar: function(idScroller, idScrollMid, opções) {
var oScroll = isto, oScroller = $(idScroller), oScrollMid = $(idScrollMid);
this.heightScroller = oScroller.offsetHeight;
this.heightList = oScrollMid.offsetHeight;
if(this.heightList <= this.heightScroller) return;
oScroller.style.overflow = "oculto";
oScrollMid.appendChild(oScrollMid.cloneNode(true));
this.oScroller = oScroller;
este.timer = null;
this.SetOptions(opções);
this.side = 1;//1是上 -1是下
switch (this.options.Side) {
caso "para baixo":
este.lado = -1;
quebrar;
caso "para cima":
padrão :
este.lado = 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;
isto.Pausa = 0;
this.Start();
},
//设置默认属性
SetOptions: function(opções) {
this.options = {///默认值
Etapa: 1, //每次变化的px量
Hora: 20, //速度(越大越慢)
Lado: "para cima",//滚动方向:"para cima"是上,"para baixo"是下
PauseHeight: 0,//隔多高停一次
PauseStep: 1000//停顿时间(PauseHeight大于0该参数才有效)
};
Object.extend(this.options, opções || {});
},
//滚动
Rolar: function() {
var iScroll = this.oScroller.scrollTop, iHeight = this.heightList, time = this.options.Time, oScroll = this, iStep = this.options.Step * this.side;
if(este.lado > 0){
if(iScroll >= (iHeight * 2 - this.heightScroller)){ iScroll -= iHeight; }
} outro {
if(iScroll <= 0){ iScroll += iAltura; }
}
if(this.options.PauseHeight > 0){
if(this.Pause >= this.options.PauseHeight){
tempo = this.options.PauseStep;
isto.Pausa = 0;
} outro {
this.Pause += Math.abs(iStep);
this.oScroller.scrollTop = iScroll + iStep;
}
} else { this.oScroller.scrollTop = iScroll + iStep; }
this.timer = window.setTimeout(function(){ oScroll.Scroll(); }, hora);
},
//开始
Iniciar: função() {
this.Scroll();
},
//停止
Parar: função() {
clearTimeout(this.timer);
}
};
janela.onload=função(){
novo Scroller("idScroller", "idScrollMid",{ PauseHeight:25 });
}
</script>
<estilo>
#idScroller *{margem:0px; preenchimento:0px;}
#idScroller{altura da linha:25px;largura:100%; altura:25px; estouro: oculto; borda:1px sólido #000000;}
#idScrollerul{largura:100%}
#idScroller li{largura:20%; flutuar:esquerda; estouro: oculto; estilo de lista: nenhum;}
</estilo>
<div id="idScroller">
<div id="idScrollMid">
<ul>
<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>
</body>
</html>