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 相关文章推荐
Mootools 1.2教程 排序类和方法简介
Sep 15 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
May 05 Javascript
基于JavaScript代码实现pc与手机之间的跳转
Dec 23 Javascript
JavaScript实现自定义媒体播放器方法介绍
Jan 03 Javascript
Bootstrap导航中表单简单实现代码
Mar 06 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
Jun 04 Javascript
js单页hash路由原理与应用实战详解
Aug 14 Javascript
seajs中模块依赖的加载处理实例分析
Oct 10 Javascript
vue cli使用绝对路径引用图片问题的解决
Dec 06 Javascript
vue简单封装axios插件和接口的统一管理操作示例
Feb 02 Javascript
vue组件创建的三种方式小结
Feb 03 Javascript
vue首次渲染全过程
Apr 21 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
深入理解PHP原理之异常机制
2010/08/21 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
PHP curl使用实例
2015/07/02 PHP
php安全配置记录和常见错误梳理(总结)
2017/03/28 PHP
php注册审核重点解析(数据访问)
2017/05/23 PHP
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
2016/05/05 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
2017/05/25 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
2017/06/01 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
详解jQuery中关于Ajax的几个常用的函数
2017/07/17 jQuery
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
AJAX在JQuery中的应用详解
2019/01/30 jQuery
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
vuex实现购物车的增加减少移除
2020/06/28 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
Python实现发送email的几种常用方法
2014/08/18 Python
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
2014/11/18 Python
Python将xml和xsl转换为html的方法
2015/03/10 Python
pandas去除重复列的实现方法
2019/01/29 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
python实现小世界网络生成
2019/11/21 Python
python数字类型math库原理解析
2020/03/02 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
大学生职业生涯设计书
2014/01/02 职场文书
高中生物教学反思
2014/02/05 职场文书
支部组织生活会方案
2014/06/10 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
个人廉政承诺书
2015/04/28 职场文书
《花钟》教学反思
2016/02/17 职场文书