JavaScript实现简单图片轮播效果


Posted in Javascript onAugust 21, 2017

本文实例为大家分享了js实现简单图片轮播的具体代码,最终实现效果图

JavaScript实现简单图片轮播效果

代码块

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

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
     <style>
    * {
      margin: 0;
      padding: 0
    }

    ul {
      list-style: none
    }

    img {
      vertical-align: top
    }

    .box {
      width: 490px;
      height: 170px;
      margin: 100px auto;
      padding: 5px;
      border: 1px solid #ccc;
    }

    .inner {
      width: 490px;
      height: 170px;
      background-color: pink;
      overflow: hidden;
      position: relative;
    }

    .inner ul {
      width: 1000%;
      position: absolute;
      top: 0;
      left: 0;
    }

    .inner li {
      float: left;
    }

    .square {
      position: absolute;
      right: 10px;
      bottom: 10px;
    }

    .square span {
      display: inline-block;
      width: 16px;
      height: 16px;
      background-color: #fff;
      text-align: center;
      line-height: 16px;
      cursor: pointer;
    }

    .square span.current {
      background-color: orangered;
      color: #fff;
    }
  </style>
  </head>
  <body>
    <div class="box" id="box">
      <div class="inner">
        <ul>
          <li><a href="#"><img src="images/01.jpg" /></a></li>
          <li><a href="#"><img src="images/02.jpg" /></a></li>
          <li><a href="#"><img src="images/03.jpg" /></a></li>
          <li><a href="#"><img src="images/04.jpg" /></a></li>
          <li><a href="#"><img src="images/05.jpg" /></a></li>
        </ul>
        <div class="square">
          <span class="current">1</span>
          <span>2</span>
          <span>3</span>
          <span>4</span>
          <span>5</span>
        </div>
      </div>
    </div>


  <script type="text/javascript">
    //鼠标经过按钮 按钮排他
    var box = document.getElementById("box");
    var inner = box.children[0];      //获取box下的第一个元素,也就是inner
    var ul = inner.children[0];       //获取inner下的ul
    var squareList = inner.children[1];   //获取inner下的第二个元素
    var squares = squareList.children;   //获取所有的按钮
    var imgWidth = inner.offsetWidth;
//   alert(imgWidth);
    //给每个按钮注册鼠标经过事件
    for(var i=0; i<squares.length; i++){
      squares[i].index = i;      //把索引保存在自定义属性中
      squares[i].onmouseover = function(){  //鼠标经过事件
        //排他 干掉所有人 
        for(var j=0; j<squares.length; j++){
          squares[j].className = "";
        }
        //留下我自己
        this.className = "current";
        //以动画的方式把ul移动到指定的位置
        //目标 和当前按钮索引有关,和图片宽度有关 而且是负数
        var target = -this.index * imgWidth;  //获取到索引
        animate(ul,target);
      }
    }


    function animate(obj, target) {
      clearInterval(obj.timer);
      obj.timer = setInterval(function () {
        var step = 20;
        var step = obj.offsetLeft < target ? step : -step;
        if (Math.abs(obj.offsetLeft - target) > Math.abs(step)) {
          obj.style.left = obj.offsetLeft + step + "px";
        } else {
          obj.style.left = target + "px";
          clearInterval(obj.timer);
        }
      }, 15)
    }


  </script>



  </body>
</html>

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

Javascript 相关文章推荐
用js实现多域名不同文件的调用方法
Jan 12 Javascript
页面实时更新时间的JS实例代码
Dec 18 Javascript
jQuery+jRange实现滑动选取数值范围特效
Mar 14 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
Sep 11 Javascript
jquery制作图片时钟特效
Mar 30 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
May 05 Javascript
node实现登录图片验证码的示例代码
Apr 20 Javascript
小程序云开发如何实现图片上传及发表文字
May 17 Javascript
vue视频播放插件vue-video-player的具体使用方法
Nov 08 Javascript
使用vue打包进行云服务器上传的问题
Mar 02 Javascript
JavaScript隐式类型转换代码实例
May 29 Javascript
vue实现图片裁剪后上传
Dec 16 Vue.js
Javascript中 toFixed四舍六入方法
Aug 21 #Javascript
webpack使用 babel-loader 转换 ES6代码示例
Aug 21 #Javascript
JavaScript创建对象的七种方式全面总结
Aug 21 #Javascript
webpack处理 css\less\sass 样式的方法
Aug 21 #Javascript
Vue中建立全局引用或者全局命令的方法
Aug 21 #Javascript
JS实现身份证输入框的输入效果
Aug 21 #Javascript
Vue自定义指令使用方法详解
Aug 21 #Javascript
You might like
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
2012/06/27 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
CI(CodeIgniter)框架中的增删改查操作
2014/06/10 PHP
php命令行模式代码实例详解
2021/02/26 PHP
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
vue页面使用阿里oss上传功能的实例(一)
2017/08/09 Javascript
关于Vue.nextTick()的正确使用方法浅析
2017/08/25 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
基于twbsPagination.js分页插件使用心得(分享)
2017/10/21 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
python调用c++ ctype list传数组或者返回数组的方法
2019/02/13 Python
Python 给屏幕打印信息加上颜色的实现方法
2019/04/24 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
解决windows下python3使用multiprocessing.Pool出现的问题
2020/04/08 Python
CSS3实现水平居中、垂直居中、水平垂直居中的实例代码
2020/02/27 HTML / CSS
HTML5中的强制下载属性download使用实例解析
2016/05/12 HTML / CSS
写出一个方法实现冒泡排序
2016/07/08 面试题
介绍一下Java中的static关键字
2012/05/12 面试题
毕业生的自我鉴定
2013/10/29 职场文书
经理职责范文
2013/11/08 职场文书
大学生职业生涯规划书汇总
2014/03/20 职场文书
美术第二课堂活动总结
2014/07/08 职场文书
检讨书范文1000字
2015/01/28 职场文书
西安兵马俑导游词
2015/02/02 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS
拙作再改《我的收音机情缘》
2022/04/05 无线电
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android