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

原创 2007年09月12日 02:01:00
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>




演示地址:http://www.21cnci.com/cmarket.php

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

城市选择控件文本框【纯javascript打造】兼容IE6以及以上、谷歌、Firefox

在淘宝旅行上看到的城市选择效果,感觉还不错,就自己的理解重新实现一遍,先看效果,然后再细说实现原理,支持鼠标上下键选择城市,支持直接输入城市名称,拼音首字母,全拼,支持IE6遮盖SELECT,压缩后1...

IE和Firefox对JavaScript的兼容

  • 2009年08月01日 09:56
  • 12KB
  • 下载

javascript 打造城市选择控件,兼容IE6以及以上,谷歌,Firefox

我实现的步骤: 一、先用一定的格式罗列出控件所需要的城市以及拼音等,我这里是按照如下格式罗列成一个数组, 如果需要增加城市,直接增加在数组里面即可:       城市我是一个一个手打的。。。 ...

用JavaScript 获取鼠标移动时的坐标(兼容:IE8、谷歌、Firefox)和用jquery方法的简单分析

前两天帮助同事一起弄了一下效果图项目,遇到了在后台里需要在效果图上获取鼠标的坐标。因为我们的js都是刚开始学习的,所以我们就只能上网找了一些方法,一开始我们是用jq的方法,结果发现存在了兼容问题。 ...
  • cai0_0
  • cai0_0
  • 2016年04月22日 15:46
  • 364

javascript firefox兼容ie的dom方法脚本

if(!document.all){ //zzcv的ff ie兼容脚本 /*脚本没有解决的问题及处理: 2.IE下,可以使用()或[]获取集合类对象;Firefox下,只能使用[]获取集合类对象...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:纯JavaScript实现的幻灯片(兼容IE和Firefox)
举报原因:
原因补充:

(最多只允许输入30个字)