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 相关文章推荐
Prototype最新版(1.5 rc2)使用指南(1)
Jan 10 Javascript
jquery表单验证需要做些什么
Nov 17 Javascript
jqGrid表格应用之新增与删除数据附源码下载
Dec 02 Javascript
全面解析Bootstrap中form、navbar的使用方法
May 30 Javascript
jquery 多个radio的click事件实例
Dec 03 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
Feb 13 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
Aug 31 Javascript
基于JavaScript canvas绘制贝塞尔曲线
Dec 25 Javascript
vue实现百度语音合成的实例讲解
Oct 14 Javascript
Vue快速实现通用表单验证的方法
Feb 24 Javascript
vue实现购物车功能(商品分类)
Apr 20 Javascript
浅谈vue-props的default写不写有什么区别
Aug 09 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程序
2012/02/04 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
2013/06/03 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
PHP实现的观察者模式实例
2017/06/21 PHP
php 使用mpdf实现指定字段配置字体样式的方法
2019/07/29 PHP
javascript不同页面传值的改进版
2008/09/30 Javascript
JavaScript 盒模型 尺寸深入理解
2012/12/31 Javascript
如何将一个String和多个String值进行比较思路分析
2013/04/22 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
jquery+ajax实现直接提交表单实例分析
2016/06/17 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
2021/03/01 jQuery
Python中的模块导入和读取键盘输入的方法
2015/10/16 Python
python将回车作为输入内容的实例
2018/06/23 Python
Python正则表达式指南 推荐
2018/10/09 Python
Python一个简单的通信程序(客户端 服务器)
2019/03/06 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
Python telnet登陆功能实现代码
2020/04/16 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
python绘图模块之利用turtle画图
2021/02/12 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
英国网上香水店:Fragrance Direct
2016/07/20 全球购物
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
财务担保书范文
2014/04/02 职场文书
设计大赛策划方案
2014/06/13 职场文书
党员学习中共十八大思想报告
2014/09/12 职场文书
学雷锋日活动总结
2015/02/06 职场文书
2016年元旦寄语
2015/08/17 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
Python数据可视化之Seaborn的安装及使用
2022/04/19 Python