js实现同一页面可多次调用的图片幻灯切换效果

本文实例讲述了js实现同一页面可多次调用的图片幻灯切换效果。分享给大家供大家参考。具体实现方法如下:

代码如下:

<!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>
<title>js同一页面可多次调用的图片幻灯切换效果</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<!--把下面代码加到<head>与</head>之间-->
<script language="javascript">
//声明命名空间
var $o = new Object();
//基础方法
$o.base = {
 e:function(a,f){
  for(var i=0,j=a.length;i<j;i++){f.call(a[i],i);}
 }
}
$o. slide = function (id,arg){
 var arg = arg||{},
  t = document.getElementById(id),
  a = t.getElementsByTagName("a"),
  lis = [],
  cl = arg.color||'#f30',
  ctm = arg.time*1000||2000,
  w = t.clientWidth,
  h = t.clientHeight,
  b = ['<ul style="margin:0; padding:0; list-style:none; display:block; position:absolute; bottom:10px; right:10px;">'],
  index = 0,
  $ = null,
  $ = null;
  function change(i){
   if(!!$){clearTimeout($);}
   index = !isNaN(i)?i:index+1;
   if(index >= a.length){index = 0;}
   $o.base.e(lis,function(k){if(k == index){c(1,this);}else{c(0,this)}});
   var to = - index*h;
   if(a[0].offsetTop == to){
    return;
   }else{
    if(!!$){clearInterval($);}
    $ = setInterval(function(){
     var ot = a[0].offsetTop;
     v = Math[to<ot?'floor':'ceil']((to - ot)*0.2);
     if(ot == to){clearInterval($);$=null;st();}
     ot += v;
     a[0].style.marginTop = ot + "px";
    },30)
   };
  }
  function c(b,o){
   o.style.backgroundColor = !!b?cl:"#fff";
   o.style.color = !!b?"#fff":cl;
  }
  function st(){
   if(!!$)clearTimeout($);
   $ = setTimeout(function(){change()},ctm);
  }
  with(t.style){overflow = 'hidden';position = 'relative';}
  $o.base.e(a,function(n){
   this.style.display = "block";
   with(this.firstChild.style){borderWidth = '0';width = w + 'px';height = h + 'px';}
   b.push('<li style="width:20px; height:20px; line-height:20px; display:block; float:left; margin-left:5px; border:1px solid ' + cl + '; background-color:#fff; color:' + cl +'; font-size:14px; text-align:center; cursor:pointer;">' + (n+1) + '</li>');
  });
  b.push('</ul>');
  t.innerHTML += b.join("");
  lis = t.getElementsByTagName("li");
  $o.base.e(lis,function(n){
   if(n == index){c(1,this)}
   this.onmouseover = function(){
    if(n!=index)change(n);
   }
  });
  st();
}
</script>
</head>
<body>
<!--把下面代码加到<body>与</body>之间-->
<div id="aa" style="width:402px;height:228px;">
 <a href="javascript:alert('1')"><img src="/images/1.jpg"></a>
 <a href="javascript:alert('2')"><img src="/images/2.jpg"></a>
 <a href="javascript:alert('3')"><img src="/images/3.jpg"></a>
 <a href="javascript:alert('4')"><img src="/images/4.jpg"></a>
 <a href="javascript:alert('5')"><img src="/images/5.jpg"></a>
 <a href="javascript:alert('6')"><img src="/images/6.jpg"></a>
 <a href="javascript:alert('7')"><img src="/images/7.jpg"></a>
 <a href="javascript:alert('8')"><img src="/images/8.jpg"></a>
 <a href="javascript:alert('9')"><img src="/images/9.jpg"></a>
</div>
<script language="javascript">
new $o.slide("aa");
</script>
<br>
<div id="bb" style="width:402px;height:228px;">
 <a href="###"><img src="/images/1.jpg"></a>
 <a href="###"><img src="/images/2.jpg"></a>
 <a href="###"><img src="/images/3.jpg"></a>
 <a href="###"><img src="/images/4.jpg"></a>
 <a href="###"><img src="/images/5.jpg"></a>
</div>
<script language="javascript">
new $o.slide("bb",{color:'#000',time:0.2});
</script>
<br>
<div id="cc" style="width:402px;height:228px;">
 <a href="###"><img src="/images/1.jpg"></a>
 <a href="###"><img src="/images/2.jpg"></a>
 <a href="###"><img src="/images/3.jpg"></a>
 <a href="###"><img src="/images/4.jpg"></a>
 <a href="###"><img src="/images/5.jpg"></a>
</div>
<script language="javascript">
new $o.slide("cc",{color:'green'});
</script>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

(0)

相关推荐

  • JS实现的多张图片轮流播放幻灯片效果

    本文实例讲述了JS实现的多张图片轮流播放幻灯片效果.分享给大家供大家参考,具体如下: <body style="width: 715px; height: 95px;"> <script language="javascript" type="text/javascript"> <!-- /************************************************** 名称: 图片轮播类 创建时

  • 使用 JavaScript 创建可维护的幻灯片效果代码第1/3页

    第一步:分析问题(Analizing the problem) 创建一个好的脚本,第一步应该是去分析哪些是你要完成的:我们想要创建一个照片的幻灯片效果,并且我们想要保持维护的方便. 如何创建一个幻灯片效果 在一个网站上拥有幻灯片有几种方法: 在文档中包含所有的图片.  当他运行在无 JavaScript 状态,这是一个安全的选择.而且,当页面被载完,所有的图片也会将被载完.然而,这个方式只适用于少量的图片. 在文档中包含第一张图片,并且有一个创建幻灯片功能的服务器端脚本.  这也是相当安全的,但

  • js实现幻灯片播放图片示例代码

    1,在页面添加下面的元素.展示出置出图片文件列表文件. 复制代码 代码如下: <select id="img_date" style="width: 100%; margin-top: 10px; height: 50%;" size="20"> <option value="图片的url">图片名字</option> </select> 2,播放文件列表的方法.主要是遍历文件列

  • js实现幻灯片效果(基于jquery插件)

    使用jquery插件jquery.smallslider.js也能实现幻灯片效果. htm代码如下: 复制代码 代码如下: <div id="flashbox" class="smallslider"> <ul style="position: absolute; top: 0px; width: 3225px;"> <li class="" style="float: left;&qu

  • 原生Js实现按的数据源均分时间点幻灯片效果(已封装)

    建议在Chrom,Firefox,Opera,Safari等标准浏览器中查看. Ie下没有阴影及圆角. 实现了根据源数据(样例中是一个JSON数据组)总条数, 均分出时间点以平滑向右动画方式显示在时间线上, 当鼠标划过时间点时, 显示对应的日期及标题. 鼠标划过事件, 充分考虑了用户体验, 当用户快速(无意识移动)从时间点上划过时, 并不触发相应事件. 相关的方法说明及使用, 请参见下面的注释或发评论, 同时也欢迎大家找bug并提交. Js核心代码点此查看样例 复制代码 代码如下: var JS

  • javascript实现图片切换的幻灯片效果源代码

    网页上有许多图片切换的幻灯片效果,它们大多用flash实现,那javascript能不能实现他们呢,当然可以,我自己写了一个,和大家一同分享 废话少说,看代码 复制代码 代码如下: sx.activex.imagefade={ init:function(imga,fadeint,fadeoutt){ var ti=new Array(); for(var i=0;i<imga.length;i++){ ti[i]=new Image(); ti[i].src=imga[i] } var div

  • 纯javascript移动优先的幻灯片效果

    简要教程 wallop是一款移动优先的纯javascript幻灯片插件.这个幻灯片插件仅4k大小,它的原理仅是为HTML元素添加和移除适当的class来显示和隐藏它们,至于这些class样式你可以完全自定义.特点有: 移动优先 动画和过渡效果都使用CSS来生成 轻量级,仅4k大小 高度灵活性和可扩展性 可自定义事件和API 没有任何外部依赖 使用方法 使用该幻灯片插件首先需要引入wallop.css和Wallop.min.js文件. <link rel="stylesheet"

  • 基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)

    jquery-slider是一款基于JSON格式数据的jQuery幻灯片插件.该幻灯片通过JSON数据来提供图片地址和描述信息等,你可以通过更换JSON数据来动态切换不同的图片. 在线预览     源码下载 使用方法 在页面中引入jquery和slider.js文件和font-awesome字体图标文件. <link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-

  • JS实现的手机端精简幻灯片效果

    本文实例讲述了JS实现的手机端精简幻灯片效果.分享给大家供大家参考,具体如下: var curIndex = 0; var timeInterval = 4000; var arr = new Array(); arr[0] = "fukeb.jpg"; arr[1] = "baopi.jpg"; arr[2] = "renliub.jpg"; setInterval(changeImg, timeInterval); function chan

  • JS+CSS实现淡入式焦点图片幻灯切换效果的方法

    本文实例讲述了JS+CSS实现淡入式焦点图片幻灯切换效果的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!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

随机推荐