js手动播放图片实现图片轮播效果


Posted in Javascript onSeptember 17, 2016

本文实例为大家分享了js图片轮播具体实现代码,供大家参考,具体内容如下

一、html代码部分(et.thtml):

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <link type="text/css" rel="stylesheet" href="css/styleet.css">
  <script type="text/javascript" src="js/system.js"></script>
</head>
<body>
  <div id="main">
    <div id="top">
      <span id="imgL" class="span1"></span>
      <img src="images/1.jpg" id="img" data-index="1" alt=""/>
      <span id="imgR" class="span2"></span>
    </div>
    <div id="bottom">
      <img src="images/1.jpg" id="img1" class="focusClass" data-index="1" alt=""/>
      <img src="images/2.jpg" id="img2" class="initClass" data-index="2" alt=""/>
      <img src="images/3.jpg" id="img3" class="initClass" data-index="3" alt=""/>
      <img src="images/4.jpg" id="img4" class="initClass" data-index="4" alt=""/>
      <img src="images/5.jpg" id="img5" class="initClass" data-index="5" alt=""/>
      <img src="images/6.jpg" id="img6" class="initClass" data-index="6" alt=""/>
      <img src="images/7.jpg" id="img7" class="initClass" data-index="7" alt=""/>
    </div>
  </div>
  <script type="text/javascript" src="js/et.js"></script>
</body>
</html>

二、css代码部分(styleet,css):

#main span{
  width: 22px;
  height: 38px;
  position: absolute;
  display: inline-block;
  cursor: pointer;
  background: url("../images/1.png") no-repeat 0 0;
}
.span1{
  background-position: 0 0;
  left:20px;
  top: 90px;
}
.span2{
  background-position: -22px 0;
  right: 20px;
  top: 90px;
}
#main{
  width: 500px;
  margin: 20px auto;
  text-align: center;
  border: solid 2px red;
  position: relative;
}
.initClass{
  width: 50px;
  border: solid 2px #fff;
  margin: 10px 5px;
}
.focusClass{
  width: 50px;
  border: solid 2px red;
  margin: 10px 5px;
}

三、js代码部分(et.js):

/**
 * Created by LuanReco on 2015/8/28.
 */
var slide={
  arrImg:new Array('images/1.jpg','images/2.jpg','images/3.jpg','images/4.jpg','images/5.jpg','images/6.jpg','images/7.jpg'),
  initClass:'initClass',
  focusClass:'focusClass',
  index:1,
  arrMax:7,
  imgMain:'img'
}
slide.top={
  //导航事件
  navEvent:function(){
    //上部分大图片显示累加后下标对应的图片
    $$(slide.imgMain).src=slide.arrImg[slide.index-1];
    //根据焦点下标值组合成导航图片名称
    var n='img'+slide.index;
    //执行对应导航图片单击事件
    $$(n).click();
  },
  //处理页面上一部分的逻辑
  clickRight:function(){
    //点击向右按钮处理事件
    console.log(slide.index);

    //当下标小于或等于最大图片数量时
    if(slide.index<slide.arrMax){
      //累加当前下标值
      slide.index++;
      slide.top.navEvent();
    }

  },
  clickLeft:function(){
    //点击向右按钮处理事件
    console.log(slide.index);

    //当下标小于或等于最大图片数量时
    if(slide.index>1){
      //累加当前下标值
      slide.index--;
      slide.top.navEvent();
    }

  }
}
slide.bottom={
  initImgClass:function(){
    //初始化全部对不图片的样式
    for(var i=1;i<=slide.arrMax;i++){
      var n='img'+i;
      $$(n).className=slide.initClass;
    }
  },
  click:function(){
    //处理页面下一部分的逻辑
    $$('imgL').onclick=function(){
      slide.top.clickLeft();
    }
    $$('imgR').onclick=function(){
      slide.top.clickRight();
    }
    //获取所有底部的小图片
    for(var i=1;i<=slide.arrMax;i++){
      //为每一张图片绑定点击事件
      var n='img'+i;
      $$(n).onclick=function(){
        //初始化全部样式
        slide.bottom.initImgClass();
        //图片元素本身获取焦点样式
        this.className=slide.focusClass;
        //在上部图片中显示点击小图片对应的大图片
        $$(slide.imgMain).src=slide.arrImg[this.getAttribute('data-index')-1];
        //重新记录焦点图片在数组中的对应下标位置
        slide.index=this.getAttribute('data-index');
      }
    }
  }
}
slide.autoplay={
  play:function(){
    var m=1;
    //for(var i=1;i<=slide.arrMax;i++){
      setInterval(function(){
        var n='img'+m;
        m++;
        $$(n).click();
        if(m>6)
          m=1;
      },1000)
    //}
  }
}

slide.autoplay.play();
slide.bottom.click();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 闭包详解
Feb 15 Javascript
jquery中EasyUI实现异步树
Mar 01 Javascript
javascript实现倒计时并弹窗提示特效
Jun 05 Javascript
用NODE.JS中的流编写工具是要注意的事项
Mar 01 Javascript
文件上传插件SWFUpload的使用指南
Nov 29 Javascript
Bootstrap CSS组件之按钮下拉菜单
Dec 17 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
Dec 31 Javascript
对vue事件的延迟执行实例讲解
Aug 28 Javascript
vue2使用keep-alive缓存多层列表页的方法
Sep 21 Javascript
JavaScript刷新页面的几种方法总结
Mar 28 Javascript
vue实现图片上传预览功能
Dec 23 Javascript
小程序实现可拖动的悬浮按钮
Sep 07 Javascript
Bootstrap时间选择器datetimepicker和daterangepicker使用实例解析
Sep 17 #Javascript
AngularJS使用自定义指令替代ng-repeat的方法
Sep 17 #Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
Sep 17 #Javascript
AngularJS中关于ng-class指令的几种实现方式详解
Sep 17 #Javascript
AngularJS中过滤器的使用与自定义实例代码
Sep 17 #Javascript
利用js编写响应式侧边栏
Sep 17 #Javascript
各式各样的导航条效果css3结合jquery代码实现
Sep 17 #Javascript
You might like
PHP实现的简易版图片相似度比较
2015/01/07 PHP
隐性调用php程序的方法
2015/06/13 PHP
thinkphp实现分页显示功能
2016/12/03 PHP
php中错误处理操作实例分析
2019/08/23 PHP
基于PHP实现生成随机水印图片
2020/12/09 PHP
javascript TextArea动态显示剩余字符
2008/10/22 Javascript
javascript 设置文本框中焦点的位置
2009/11/20 Javascript
intro.js 页面引导简单用法 分享
2013/08/06 Javascript
javascript从image转换为base64位编码的String
2014/07/29 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
js判断手机系统是android还是ios
2017/03/07 Javascript
深入浅析Nodejs的Http模块
2017/06/20 NodeJs
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
vue.js层叠轮播效果的实例代码
2018/11/08 Javascript
js canvas画布实现高斯模糊效果
2018/11/27 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
[08:29]DOTA2每周TOP10 精彩击杀集锦vol.7
2014/06/25 DOTA
[02:51]DOTA2 Supermajor小组分组对阵抽签仪式
2018/06/01 DOTA
wxpython 学习笔记 第一天
2009/03/16 Python
python中的yield使用方法
2014/02/11 Python
python超简单解决约瑟夫环问题
2015/05/12 Python
Python基于pygame模块播放MP3的方法示例
2017/09/30 Python
python多进程中的内存复制(实例讲解)
2018/01/05 Python
Python回文字符串及回文数字判定功能示例
2018/03/20 Python
Python基于递归算法求最小公倍数和最大公约数示例
2018/07/27 Python
Python从使用线程到使用async/await的深入讲解
2018/09/16 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
cf收人广告词大全
2014/03/14 职场文书
《毛主席在花山》教学反思
2014/04/20 职场文书
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
社区服务活动小结
2014/07/08 职场文书
毕业生应聘求职信
2014/07/10 职场文书
2014年技术员工作总结
2014/11/18 职场文书
业务内勤岗位职责
2015/04/13 职场文书