基于JavaScript实现仿京东图片轮播效果


Posted in Javascript onNovember 06, 2015

js实现仿京东图片轮播效果,当鼠标划在窗口上面停止计时器,鼠标离开窗口,开启计时器,鼠标划在页签上面,停止计时器,手动切换,通过定义计时器封装函数run,封装函数changeOption,实现此效果,代码简单易懂,需要的小伙伴直接复制拷贝转走吧。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style type="text/css">
    *{margin:0;padding:0;list-style:none;}
    a{text-decoration: none;color: #fff;}
    #flash{width: 730px;height: 454px;margin: 100px auto;position: relative;cursor: pointer;}
    #pic li{position: absolute;top: 0;left: 0;z-index: 1;display: none;}
    #num{position: absolute;left: 40%;bottom: 10px;z-index: 2;cursor:default;}
    #num li{float: left;width: 20px;height: 20px;border-radius: 50%;background: #666;margin: 3px;line-height: 20px;text-align: center;color: #fff;cursor: pointer;}
    #num li.active{background: #f00;}
    .arrow{height: 60px;width: 30px;line-height: 60px;text-align: center;display: block;position: absolute;top:45%;z-index: 3;display: none;}
    .arrow:hover{background: rgba(0,0,0,0.7);}
    #flash:hover .arrow{display: block;}
    #left{left: 2%;}
    #right{right: 2%;}
  </style>
  <script type="text/javascript">
    function $(id) {
      return typeof id==='string'?document.getElementById(id):id;
    }
    window.onload=function(){
      var index=0;
      var timer=null;
      var pic=$("pic").getElementsByTagName("li");
      var num=$("num").getElementsByTagName("li");
      var flash=$("flash");
      var left=$("left");
      var right=$("right");
      //单击左箭头
      left.onclick=function(){
        index--;
        if (index<0) {index=num.length-1};
        changeOption(index);
      }
      //单击右箭头
      right.onclick=function(){
        index++;
        if (index>=num.length) {index=0};
        changeOption(index);
      }      
      //鼠标划在窗口上面,停止计时器
      flash.onmouseover=function(){
        clearInterval(timer);
      }
      //鼠标离开窗口,开启计时器
      flash.onmouseout=function(){
        timer=setInterval(run,2000)
      }
      //鼠标划在页签上面,停止计时器,手动切换
      for(var i=0;i<num.length;i++){
        num[i].id=i;
        num[i].onmouseover=function(){
          clearInterval(timer);
          changeOption(this.id);
        }
      }    
      //定义计时器
      timer=setInterval(run,2000)
      //封装函数run
      function run(){
        index++;
        if (index>=num.length) {index=0};
        changeOption(index);
      }
      //封装函数changeOption
      function changeOption(curindex){
        console.log(index)
        for(var j=0;j<num.length;j++){
          pic[j].style.display="none";
          num[j].className="";
        }
        pic[curindex].style.display="block";
        num[curindex].className="active";
        index=curindex;
      }
    }
  </script>
</head>
<body>
  <div id="flash">
    <ul id="pic">
      <li style="display:block"><img src="http://img13.360buyimg.com/da/jfs/t2242/262/578407619/87636/4ffe0c5/56187ed2Nfed9a5b3.jpg" alt=""></li>
      <li><img src="http://img13.360buyimg.com/da/jfs/t2143/111/577347825/96150/e27180bd/561889b3N42ee62b5.jpg" alt=""></li>
      <li><img src="http://img20.360buyimg.com/da/jfs/t1825/234/1750370913/97529/b9229832/560b5ad3N054605f7.jpg" alt=""></li>
      <li><img src="http://img10.360buyimg.com/da/jfs/t2026/215/573306345/95654/a0211937/5618a735N1b3d8423.jpg" alt=""></li>
      <li><img src="http://img20.360buyimg.com/da/jfs/t2065/362/579832759/78899/6f349917/5618c680N3752bacc.jpg" alt=""></li>
      <li><img src="http://img10.360buyimg.com/da/jfs/t2023/45/384256123/101565/9b6e5daf/5604bdceN8c7d2ccf.jpg" alt=""></li>
    </ul>
    <ol id="num">
      <li class="active">1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>5</li>
      <li>6</li>
    </ol>
    <a href="javascript:;" class="arrow" id="left"><</a>
    <a href="javascript:;" class="arrow" id="right">></a> 
  </div>
</body>
</html>

以上代码是不是很简单啊,基于javascrit实现仿金东图片轮播效果就制作成功了,由于时间原因没有给大家展示效果图,还请大家见谅。

Javascript 相关文章推荐
jQuery学习笔记之控制页面实现代码
Feb 27 Javascript
JS实现双击屏幕滚动效果代码
Oct 28 Javascript
BootStrap3学习笔记(一)之网格系统
May 20 Javascript
微信和qq时间格式模板实例详解
Oct 21 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
Nov 03 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
Dec 19 Javascript
基于JavaScript实现焦点图轮播效果
Mar 27 Javascript
微信小程序上传图片到服务器实例代码
Nov 07 Javascript
vue 项目中使用Loading组件的示例代码
Aug 31 Javascript
js实现同一个页面,多个enter事件绑定的示例
Oct 10 Javascript
发布一款npm包帮助理解npm的使用
Jan 03 Javascript
使用React-Router实现前端路由鉴权的示例代码
Jul 26 Javascript
实现非常简单的js双向数据绑定
Nov 06 #Javascript
浅析javascript中的事件代理
Nov 06 #Javascript
详解javascript中的事件处理
Nov 06 #Javascript
jQuery插件实现静态HTML验证码校验
Nov 06 #Javascript
jQuery Real Person验证码插件防止表单自动提交
Nov 06 #Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
Nov 06 #Javascript
javascript如何实现暂停功能
Nov 06 #Javascript
You might like
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
php导入导出excel实例
2013/10/25 PHP
php和editplus正则表达式去除空白行
2015/04/17 PHP
PHP入门教程之面向对象基本概念实例分析
2016/09/11 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
PHP中使用微秒计算脚本执行时间例子
2014/11/19 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
jQuery实现的无限级下拉菜单功能示例
2016/09/12 Javascript
基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)
2016/11/17 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
2017/01/24 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
浅谈vue中数据双向绑定的实现原理
2017/09/14 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
JavaScript中ES6规范中let和const的用法和区别
2020/08/06 Javascript
python基于twisted框架编写简单聊天室
2018/01/02 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
2019/01/14 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
Python *args和**kwargs用法实例解析
2020/03/02 Python
OpenCV Python实现拼图小游戏
2020/03/23 Python
老海军美国官网:Old Navy
2016/09/05 全球购物
英国最大的海报商店:GB Posters
2018/03/20 全球购物
abstract class和interface有什么区别
2013/08/04 面试题
心理学专业毕业生推荐信范文
2013/11/21 职场文书
公司财务流程之主管工作流程
2014/03/03 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
婚纱店策划方案
2014/05/22 职场文书
2015年财政所工作总结
2015/04/25 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
中秋节随笔
2015/08/15 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
SpringBoot工程下使用OpenFeign的坑及解决
2021/07/02 Java/Android
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫