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 相关文章推荐
可输入的下拉框
Jun 19 Javascript
IE和firefox浏览器的event事件兼容性汇总
Dec 06 Javascript
Node.js实现Excel转JSON
Apr 24 Javascript
jQuery+Ajax实现限制查询间隔的方法
Jun 07 Javascript
AngularJS中过滤器的使用与自定义实例代码
Sep 17 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
Mar 13 Javascript
jQuery插件artDialog.js使用与关闭方法示例
Oct 09 jQuery
vue使用ElementUI时导航栏默认展开功能的实现
Jul 04 Javascript
Vue.js watch监视属性知识点总结
Nov 11 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
Aug 11 Javascript
react合成事件与原生事件的相关理解
May 13 Javascript
前端框架ECharts dataset对数据可视化的高级管理
Dec 24 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
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
PHP实现的函数重载功能示例
2018/08/03 PHP
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
Javascript学习笔记4 Eval函数
2010/01/11 Javascript
jQuery产品间断向下滚动效果核心代码
2014/05/08 Javascript
jQuery选择器源码解读(二):select方法
2015/03/31 Javascript
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
使用JavaScript获取URL中的参数(两种方法)
2016/11/16 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
JS异步加载的三种实现方式
2017/03/16 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
解决Angular.js中使用Swiper插件不能滑动的问题
2018/02/26 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
vue项目添加多页面配置的步骤详解
2019/05/22 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
[16:01]夜魇凡尔赛茶话会 第二期01:你比划我猜
2021/03/11 DOTA
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
python实现发送邮件功能代码
2017/12/14 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
python使用tkinter实现简单计算器
2018/01/30 Python
详解python实现交叉验证法与留出法
2019/07/11 Python
python 初始化一个定长的数组实例
2019/12/02 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
Python正则表达式学习小例子
2020/03/03 Python
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
中国梦演讲稿教师篇
2014/04/23 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
个人工作保证书
2015/02/28 职场文书
2015年度优秀员工自荐书
2015/03/06 职场文书
mysql查看表结构的三种方法总结
2022/07/07 MySQL