纯JavaScript实现的幻灯片(兼容IE和Firefox)

slide.js
//
//作者: yagas(卢韦华)
//网站:http://www.iebsoft.com
//博客:http://blog.csdn.com/yagas


function slide(root, pics, links, width, height){
 this.pics = pics.split("|");     //图片列表
 this.links = links.split("|");   //链接列表
 this.width = width;
 this.height = height;
 this.root = document.getElementById(root);
 this.t = 0;
 this.e = 0;
 
 this.make();
 this.start(this);
}

 slide.prototype.make = function(){
 
 var slide = document.createElement("div");
 var ul = document.createElement("div");
 
 slide.style.width = this.width;
 slide.style.height = this.height;
 slide.style.overflow = "hidden";
 //slide.style.border = "1px solid #999999";
 
 for(var i=0; i<this.pics.length; i++){
  var img = document.createElement("img");
  var link = document.createElement("a");
  a.href = links[i];
  img.src = this.pics[i];
  a.appendChild(img);
  ul.appendChild(a);
 }
 var img = document.createElement("img");
 var link = document.createElement("a");
 a.href = links[0];
 img.src = this.pics[0];
 ul.appendChild(img);
 
 slide.appendChild(ul);
 this.root.appendChild(slide);
 
 this.slide = slide; 
 this.ul = ul;
 this.oh = ul.offsetHeight / (i+1);
}

slide.prototype.scrolls = function(){
//停留间隔的时间300毫秒
 if(this.t == 300){
  if(this.ul.offsetHeight - this.slide.scrollTop <= this.oh){
   this.slide.scrollTop = 0;
  }else{
   if(this.e <= this.oh-1){
    this.slide.scrollTop++;
    this.e++;
   }else{
    this.e = 0;
    this.t = 0;
   }
  }
 }else{
  this.t++;
 }
 
}

 

slide.prototype.start = function(obj){
 var f = function(){ obj.scrolls(); }
 var s = setInterval(f, 1);
 
 this.ul.onmouseover = function(){ clearInterval(s); }
 this.ul.onmouseout = function(){ s = setInterval(f, 1); }
}




<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript" type="text/javascript" src="ieb_slide.js"></script>
</head>
<body>
<div id="slideBox"></div>

<script language="javascript" type="text/javascript">
 var myslide = new slide("slideBox", "images/market/slide1.jpg|images/market/slide1.jpg|images/market/slide1.jpg", "1|2|3", "344px", "144px");
</script>
</body>
</html>

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值