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/jquery对上传文件格式过滤的方法
Jul 25 Javascript
ie7+背景透明文字不透明超级简单的实现方法
Jan 17 Javascript
JavaScript字符串常用的方法
Mar 10 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
Sep 20 Javascript
基于JS实现仿百度百家主页的轮播图效果
Mar 06 Javascript
原生JS实现N级菜单的代码
May 21 Javascript
详解为Bootstrap Modal添加拖拽的方法
Jan 05 Javascript
微信小程序实现的自定义分享功能示例
Feb 12 Javascript
vue缓存的keepalive页面刷新数据的方法
Apr 23 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
Jun 11 Javascript
jquery树形插件zTree高级使用详解
Aug 16 jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
简单实现异步编程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把数组值转换成键的方法
2015/07/13 PHP
教你php如何实现验证码
2016/01/20 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
详解使用php-cs-fixer格式化代码
2020/09/16 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
读jQuery之十二 删除事件核心方法
2011/07/31 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
完美解决input[type=number]无法显示非数字字符的问题
2017/02/28 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/06 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
Bootstrap一款超好用的前端框架
2017/09/25 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
javascript中闭包closure的深入讲解
2021/03/03 Javascript
Python自动连接ssh的方法
2015/03/07 Python
EM算法的python实现的方法步骤
2018/01/02 Python
wxpython实现图书管理系统
2018/03/12 Python
python selenium 弹出框处理的实现
2019/02/26 Python
python使用minimax算法实现五子棋
2019/07/29 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
浅析PEP572: 海象运算符
2019/10/15 Python
Django 创建后台,配置sqlite3教程
2019/11/18 Python
python 实现两个线程交替执行
2020/05/02 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
python文件及目录操作代码汇总
2020/07/08 Python
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
存储过程的优点有哪些
2012/09/27 面试题
小区消防演习方案
2014/02/21 职场文书
美容院店长岗位职责
2014/04/08 职场文书
纠纷协议书
2014/04/16 职场文书
暑假安全保证书
2015/02/28 职场文书