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 相关文章推荐
javascript小数四舍五入多种方法实现
Dec 23 Javascript
浅谈javascript六种数据类型以及特殊注意点
Dec 20 Javascript
jquery如何根据值设置默认的选中项
Mar 17 Javascript
基于jquery编写分页插件
Mar 07 Javascript
Javascript下拉刷新的简单实现
Feb 14 Javascript
JScript实现表格的简单操作
Aug 15 Javascript
ReactJs实现树形结构的数据显示的组件的示例
Aug 18 Javascript
Vue项目中设置背景图片方法
Feb 21 Javascript
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
May 21 Javascript
Vue 组件封装 并使用 NPM 发布的教程
Sep 30 Javascript
解决vue路由name同名,路由重复的问题
Aug 05 Javascript
一百多行代码实现react拖拽hooks
Mar 23 Javascript
简单实现异步编程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
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
浅谈Javascript中的Function与Object
2015/01/26 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
JS图片放大效果简单实现代码
2016/09/08 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
AngularJS压缩JS技巧分析
2016/11/08 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
纯js实现倒计时功能
2017/01/06 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
Python解析最简单的验证码
2016/01/07 Python
python Crypto模块的安装与使用方法
2017/12/21 Python
Numpy中转置transpose、T和swapaxes的实例讲解
2018/04/17 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
2018/07/27 Python
对pytorch网络层结构的数组化详解
2018/12/08 Python
Python线程池模块ThreadPoolExecutor用法分析
2018/12/28 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
宝信软件JAVA工程师面试经历
2012/08/19 面试题
仓库管理专业个人自我评价范文
2013/11/11 职场文书
电脑租赁公司创业计划书
2014/01/08 职场文书
服务标兵事迹材料
2014/05/04 职场文书
厂区绿化方案
2014/05/08 职场文书
写作技巧:如何撰写商业计划书
2019/08/08 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫
OpenCV实现常见的四种图像几何变换
2022/04/01 Python
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL