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


Posted in Javascript onFebruary 28, 2015

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
html读出文本文件内容
Jan 22 Javascript
Div自动滚动到末尾的代码
Oct 26 Javascript
jquery实现心算练习代码
Dec 06 Javascript
js使用函数绑定技术改变事件处理程序的作用域
Dec 26 Javascript
简单方法判断JavaScript对象为null或者属性为空
Sep 26 Javascript
js光标定位文本框回车表单提交问题的解决方法
May 11 Javascript
详解JavaScript中的构造器Constructor模式
Jan 14 Javascript
javascript入门之string对象【新手必看】
Nov 22 Javascript
用JS实现简单的登录验证功能
Jul 28 Javascript
使用DataTable插件实现异步加载数据
Nov 19 Javascript
使用node打造自己的命令行工具方法教程
Mar 26 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
Apr 11 Javascript
js获取当前日期前七天的方法
Feb 28 #Javascript
JQuery的ON()方法支持的所有事件罗列
Feb 28 #Javascript
使用命令对象代替switch语句的写法示例
Feb 28 #Javascript
Underscore.js常用方法总结
Feb 28 #Javascript
js实现文字跟随鼠标移动而移动的方法
Feb 28 #Javascript
jQuery实现tab标签自动切换的方法
Feb 28 #Javascript
js根据鼠标移动速度背景图片自动旋转的方法
Feb 28 #Javascript
You might like
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
php include的妙用,实现路径加密
2008/07/29 PHP
php判断访问IP的方法
2015/06/19 PHP
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
php批量删除操作代码分享
2017/02/26 PHP
十分钟打造AutoComplete自动完成效果代码
2009/12/26 Javascript
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
jQuery 中使用JSON的实现代码
2011/12/01 Javascript
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
2013/06/05 Javascript
JS实现样式清新的横排下拉菜单效果
2015/10/09 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
详解JavaScript按概率随机生成事件
2017/08/02 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
vue.js使用watch监听路由变化的方法
2018/07/08 Javascript
vue.js 中使用(...)运算符报错的解决方法
2018/08/09 Javascript
python实现根据主机名字获得所有ip地址的方法
2015/06/28 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
使用PyV8在Python爬虫中执行js代码
2017/02/16 Python
python中模块的__all__属性详解
2017/10/26 Python
理论讲解python多进程并发编程
2018/02/09 Python
Python遍历numpy数组的实例
2018/04/04 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
python里反向传播算法详解
2020/11/22 Python
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
联想英国官网:Lenovo英国
2019/07/17 全球购物
材料采购员岗位职责
2013/12/17 职场文书
2014年妇女工作总结
2014/12/06 职场文书
初中物理教学反思
2016/02/19 职场文书
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS
Nebula Graph解决风控业务实践
2022/03/31 MySQL