JavaScript图片轮播代码分享


Posted in Javascript onJuly 31, 2015

为大家分享的JavaScript图片轮播代码如下

<!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=utf-8" />
<title>无标题文档</title>
<script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
 
<style>
 
.img-div img{display:none;}
 
</style>
</head>
 
<body>
 
<div class="slide" id="slide">
<div class="img-div">
 <img src="model.jpg" />
 <img src="model2.jpg" />
 <img src="model.jpg" />
 <img src="model2.jpg" />
 <img src="model.jpg" />
</div>
 
<div class="slide-btn">
<a href="#" class="hover">1</a>
<a href="#" class="hover">2</a>
<a href="#" class="hover">3</a>
<a href="#" class="hover">4</a>
<a href="#" class="hover">5</a>
</div>
 
</div>
 
<script type="text/javascript">
 
 
var zBase=
{
 $id:function(id){return document.getElementById(id);},
 $tagName:function(tagName,obj){return ((obj?obj:document).getElementsByTagName(tagName));},
 $c:function(clsN,obj)
 {
  var tag=this.$tagName('*'),reg=new RegExp('(^|\\s)'+clsN+'(\\s|$)'),arr=[];
 
  for(var i=0;i<tag.length;i++)
  {
   if(reg.test(tag[i].className))
   {
    arr.push(tag[i]); 
   } 
  }
  return arr;
   
 },
  
 $add:function(obj,clsN)
 {
  var reg=new RegExp('(^|\\s)'+clsN+'(\\s|$)');
   
  if(!reg.test(obj.className))
  {
   obj.className+=' '+clsN; 
  } 
 },
  
 $remove:function(obj,clsN)
 {
  var cla=obj.className;
  var reg='/|\\s*'+clsN+'\\b/g';
  obj.className=cla?cla.replace(eval(reg),''):''; 
 },
  
 css:function(obj,attr,value)
 {
  if(value)
  {
   obj.style[attr]=value; 
  } 
  else
  {
   return typeof window.getComputedStyle!="undefined"?window.getComputedStyle(obj,null)[attr]:obj.currentStyle[attr]; 
  }
 },
 easing:
  {
   liner:function(t,b,c,d){return c*t/d+b},
   easeOut:function(t,b,c,d){return -c*((t=t/d-1)*t*t*t-1)+b}
  },
   
  config:
  {
   index:0,
   auto:true,
   direct:'left' 
  },
   
  init:function()
  {
   this.slide=this.$id('slide');
   this.img_div=this.$c('img-div')[0];
   this.slide_btn=this.$tagName('a',this.$c('slide-btn')[0]);
   this.img_arr=this.$tagName('img',this.img_div);
    
   
    
   if(this.config.auto){this.play();}
   this.hover();
     
  },
   
  animate:function(obj,attr,val)
  {
   var d=1000;
    
   if(obj[attr+"timer"]){clearInterval(obj[attr+"timer"])};
    
   var start= parseInt(zBase.css(obj,attr));
   var space=val-start,st=(new Date().getTime()),m=space>0?'cell':'floor';
    
   obj[attr+'timer']=setInterval(function(){
    var t=(new Date().getTime()-st);
    if(t<d)
    {
 
     zBase.css(obj,attr,Math[m](zBase.easing["easeOut"](t,start,space,d))+"px");
    }
    else
    {
     clearInterval(obj[attr+'timer']);
     zBase.css(obj,attr,top+space+"px");
    }    
    },20);
    
    
  },
   
  hover:function()
   {
    for(var i=0;i<this.slide_btn.length;i++)
    {
     this.slide_btn[i].index=i;
     this.slide_btn[i].onmouseover=function()
     {
      if(zBase.slide.timer)
      {
       clearInterval(zBase.slide.timer); 
      } 
       
      zBase.config.index=this.index;
       
       
      //console.log(this.slide_btn);
       
      for(var j=0;j<zBase.slide_btn.length;j++)
      {
       zBase.$remove(zBase.slide_btn[j],'hover');
         
      }
       
      zBase.$add(zBase.slide_btn[zBase.config.index],'hover');
      zBase.animate(zBase.img_div,zBase.config.direct,-zBase.config.index*1000);
   
     }
      
     this.slide_btn[i].onmouseout=function()
     {
      zBase.play(); 
     }
    }
    
   },
   play:function(){
    this.slide.timer = setInterval(function(){
      
     var tags=zBase.$tagName('img',this.img_div);
     //zBase.$tagName('img',this.img_div)[zBase.config.index].style.display="block";
      
      
     for(var i =0;i<tags.length;i++)
     {
     if(zBase.config.index==i)
     {
      zBase.$tagName('img',this.img_div)[zBase.config.index].style.display="block";
     } 
     else
     {
      zBase.$tagName('img',this.img_div)[i].style.display="none"; 
     }
     }
      
      
      zBase.config.index++;
     if(zBase.config.index>=zBase.img_arr.length) zBase.config.index=0;
     zBase.animate(zBase.img_div,zBase.config.direct,-zBase.config.index*500);
     for(var j=0;j<zBase.slide_btn.length;j++){
      zBase.$remove(zBase.slide_btn[j],'hover') ;
     }
     zBase.$add(zBase.slide_btn[zBase.config.index],'hover');
    },3000)
   }
  
}
   zBase.init();
  
</script>
 
 </body>
</html>

以上就是为大家分享的JavaScript图片轮播代码,希望大家可以喜欢。

Javascript 相关文章推荐
jQuery使用动态渲染表单功能完成ajax文件下载
Jan 15 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
Oct 29 Javascript
jQuery多文件异步上传带进度条实例代码
Aug 16 Javascript
jQuery弹出遮罩层效果完整示例
Sep 13 Javascript
基于JavaScript实现的快速排序算法分析
Apr 14 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
Apr 25 Javascript
JavaScript中document.referrer的用法详解
Jul 04 Javascript
javascript 日期相减-在线教程(附代码)
Aug 17 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
Oct 11 Javascript
js循环map 获取所有的key和value的实现代码(json)
May 09 Javascript
Koa2微信公众号开发之消息管理
May 16 Javascript
Vue项目中使用mock.js的完整步骤
Jan 12 Vue.js
简单实现异步编程promise模式
Jul 31 #Javascript
JavaScript数据类型判定的总结笔记
Jul 31 #Javascript
jquery代码实现多选、不同分享功能
Jul 31 #Javascript
Jquery实现瀑布流布局(备有详细注释)
Jul 31 #Javascript
jquery实现仿JqueryUi可拖动的DIV实例
Jul 31 #Javascript
jQuery+css3实现文字跟随鼠标的上下抖动
Jul 31 #Javascript
JavaScript实现图片轮播的方法
Jul 31 #Javascript
You might like
优化使用mysql存储session的php代码
2008/01/10 PHP
ThinkPHP分页类使用详解
2014/03/05 PHP
PHP比较运算符的详细介绍
2015/09/29 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
2019/04/27 PHP
JavaScript中常见陷阱小结
2010/04/27 Javascript
JavaScript子窗口ModalDialog中操作父窗口对像
2012/12/11 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
js获取指定日期周数以及星期几的小例子
2014/06/27 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
JavaScript中用sort()方法对数组元素进行排序的操作
2015/06/09 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
TableSort.js表格排序插件使用方法详解
2017/02/10 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
浅析Python基础-流程控制
2016/03/18 Python
利用 Monkey 命令操作屏幕快速滑动
2016/12/07 Python
Python中Numpy包的安装与使用方法简明教程
2018/07/03 Python
Python Numpy 控制台完全输出ndarray的实现
2020/02/19 Python
python如何安装下载后的模块
2020/07/03 Python
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
悬挂训练绳:TRX
2017/12/14 全球购物
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
毕业生自荐信格式
2014/03/07 职场文书
2014年公司工作总结
2014/11/22 职场文书
英语辞职信范文
2015/02/28 职场文书
爱国主义电影观后感
2015/06/18 职场文书
2019最新婚庆对联集锦!
2019/07/10 职场文书
详解MySQL多版本并发控制机制(MVCC)源码
2021/06/23 MySQL