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

 更新时间:2015年02月28日 14:35:10   作者:代码家园  
这篇文章主要介绍了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程序设计有所帮助。

相关文章

  • 基于rollup的组件库打包体积优化小结

    基于rollup的组件库打包体积优化小结

    这篇文章主要介绍了基于rollup的组件库打包体积优化小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 使用Fullpage插件快速开发整屏翻页的页面

    使用Fullpage插件快速开发整屏翻页的页面

    这篇文章给大家分析使用Fullpage插件快速开发整屏翻页的页面,适用于各大网站,此功能非常高大上,下面就跟随脚本之家小编看看Fullpage插件是怎么实现此效果的
    2017-09-09
  • js表达式与运算符简单操作示例

    js表达式与运算符简单操作示例

    这篇文章主要介绍了js表达式与运算符简单操作,结合实例形式分析了JavaScript表达式与运算符的基本算数运算、逻辑运算、比较运算等相关操作技巧,需要的朋友可以参考下
    2020-02-02
  • 微信小程序扫描二维码获取信息实例详解

    微信小程序扫描二维码获取信息实例详解

    这篇文章主要介绍了微信小程序扫描二维码获取信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • JS实现简单的点赞与踩功能示例

    JS实现简单的点赞与踩功能示例

    这篇文章主要介绍了JS实现简单的点赞与踩功能,涉及javascript针对页面元素动态操作相关实现技巧,需要的朋友可以参考下
    2018-12-12
  • JavaScript实现设置默认日期范围为最近40天的方法分析

    JavaScript实现设置默认日期范围为最近40天的方法分析

    这篇文章主要介绍了JavaScript实现设置默认日期范围为最近40天的方法,结合实例形式分析了javascript结合HTML5 date元素进行时间运算相关操作技巧,需要的朋友可以参考下
    2017-07-07
  • 谈谈JavaScript数组常用方法总结

    谈谈JavaScript数组常用方法总结

    本篇文章主要介绍了谈谈JavaScript数组常用方法总结,在JavaScript中,我们需要时常对数组进行操作。一起跟随小编过来看看吧
    2017-01-01
  • 7个让JavaScript变得更好的注意事项

    7个让JavaScript变得更好的注意事项

    这篇文章主要介绍了7个让JavaScript变得更好的注意事项,十分详尽,需要的朋友可以参考下
    2015-01-01
  • 用jmSlip编写移动端顶部日历选择控件

    用jmSlip编写移动端顶部日历选择控件

    这篇文章主要为大家详细介绍了利用jmSlip编写移动端顶部日历选择组件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • JS中关于ES6 Module模块化的跨域报错问题解决

    JS中关于ES6 Module模块化的跨域报错问题解决

    这篇文章主要介绍了JS中关于ES6 Module模块化的跨域报错,ES6模块化提供了export命令和import 命令,对于模块的导出和引入,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-07-07

最新评论