基于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 相关文章推荐
ExtJS GTGrid 简单用户管理
Jul 01 Javascript
JS实现简单的顶部定时关闭层效果
Jun 15 Javascript
jquery中animate的stop()方法作用实例分析
Jan 30 Javascript
Jquery zTree 树控件异步加载操作
Feb 25 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
Jun 13 Javascript
Google 地图API资料整理及详细介绍
Aug 06 Javascript
js实现数组去重方法及效率?Ρ? target=
Feb 14 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
Oct 14 jQuery
Vuepress 搭建带评论功能的静态博客的实现
Feb 17 Javascript
React中阻止事件冒泡的问题详析
Apr 12 Javascript
vue中利用Promise封装jsonp并调取数据
Jun 18 Javascript
关于angular浏览器兼容性问题的解决方案
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显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
php加密算法之实现可逆加密算法和解密分享
2014/01/21 PHP
单台服务器的PHP进程之间实现共享内存的方法
2014/06/13 PHP
9个经典的PHP代码片段分享
2014/12/18 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
Swoole4.4协程抢占式调度器详解
2019/05/23 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
js里的prototype使用示例
2010/11/19 Javascript
用JS实现3D球状标签云示例代码
2013/12/01 Javascript
jQuery validate验证插件使用详解
2016/05/11 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
微信小程序自定义prompt组件步骤详解
2018/06/12 Javascript
vue中如何让子组件修改父组件数据
2018/06/14 Javascript
使用layer模态框给新页面传值的方法
2019/09/27 Javascript
Vue+element+cookie记住密码功能的简单实现方法
2020/09/20 Javascript
[02:19]DOTA2上海特级锦标赛 观赛指南 Spectator Guide
2016/02/04 DOTA
[03:48]大碗DOTA
2019/07/25 DOTA
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
利用pyecharts读取csv并进行数据统计可视化的实现
2020/04/17 Python
美国宠物商店:Wag.com
2016/10/25 全球购物
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
WiFi云数码相框:Nixplay
2018/07/05 全球购物
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
毕业生求职简历中的自我评价
2013/10/18 职场文书
大型活动组织方案
2014/05/10 职场文书
个人工作作风整改措施思想汇报
2014/10/13 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
内乡县衙导游词
2015/02/05 职场文书
python爬虫框架feapde的使用简介
2021/04/20 Python