var width = 550;//宽
var height = 180;//高
var pictureCount = 5;//图片数量
var href = ["#","#","#","#","#"];//链接地址
var time = 5000;//5秒
var now = 0;//默认显示第一个
var blockCount = 10;//分10块移动
var defer = 50;//块延迟基数
var order = 3;// 0(从上到下) 1(从下到上) 2(随机顺序) 3(随机出现012)
var blockHeight = Math.floor(height/blockCount);
var remain = new Array(pictureCount);
var direct;
var list = [];
document.write("<div class=\"scroller\" id=\"scroller\" st
document.write("<div class=\"flat\"><a st
document.write("<div class=\"guide\" id=\"guide\" st
for(var i=0;i<pictureCount;i++)document.write("<p on
document.write("</div>");
for(var i=0;i<blockCount;i++){
document.write("<div class=\"block\" id=\"item"+i+"\" st
for(var j=0;j<pictureCount;j++){
document.write("<a href=\""+href[i]+"\" target=\"_blank\" st
}
document.write("</div>");
if(i>0)$("item"+i).scrollTop = i*blockHeight;
}
document.write("</div>");
for(var i=0;i<blockCount;i++)list[i] = i;
Array.prototype.chaos = function(){
var randomNumber,temp;
for(var i=0;i<this.length;i++){
randomNumber = getRandom(0,this.length-1);
temp = this[i];
this[i] = this[randomNumber];
this[randomNumber] = temp;
}
}
Array.prototype.total = function(){
var count=0;
for(var i=0;i<this.length;i++){
count += this[i];
}
return count;
}
function getRandom(start,end){
var number = parseInt(Math.random()*(end-start+1));
if(start>0)number++;
return number;
}
function sortList(o){
if(o==undefined)o=order;
switch(o){
case 0:
list.sort();
break;
case 1:
list.sort();
list.reverse();
break;
case 2:
list.chaos();
break;
case 3:
sortList(getRandom(0,2));
break;
}
}
function $(element){return document.getElementById(element)}
function $$(parent,element){return parent.getElementsByTagName(element)}
function offset(i){
var step = Math.ceil(remain[i]/10);
if(step > 0){
if(direct){
$("item"+i).scrollTop += step;
}else{
$("item"+i).scrollTop -= step;
}
remain[i] -= step;
setTimeout("offset("+i+")",10);
}
}
function changest
$$($("guide"),"p")[index].className = type?"now":"";
}
function changeItem(index){
if(remain.total()>0)return;
changest
if(index==undefined){
if(++now>=pictureCount)now=0;
}else{
if(index==now){
changest
return false;
}else{
now = index;
}
}
changest
$("flat").href = href[now];
var offsetSize = now*height-$("item0").scrollTop;
direct = offsetSize>0?1:0;
if(order>1)sortList();
for(var i=0;i<blockCount;i++){
remain[list[i]] = Math.abs(offsetSize);
setTimeout("offset("+list[i]+")",i*defer);
}
}
changest
if(order>0)sortList();
$("flat").on
$("flat").on
$("guide").on
var auto = setInterval("changeItem()",time);
最佳答案