基于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操作JSON实例代码
Feb 09 Javascript
javascript权威指南 学习笔记之javascript数据类型
Sep 24 Javascript
解析JavaScript中delete操作符不能删除的对象
Dec 03 Javascript
JavaScript通过select动态更换图片的方法
Mar 23 Javascript
jquery制作多功能轮播图插件
Apr 02 Javascript
详解JavaScript函数对象
Nov 15 Javascript
微信小程序 UI与容器组件总结
Feb 21 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
Apr 18 Javascript
javascript 通过键名获取键盘的keyCode方法
Dec 31 Javascript
js技巧之十几行的代码实现vue.watch代码
Jun 09 Javascript
用webpack4开发小程序的实现方法
Jun 04 Javascript
Js on及addEventListener原理用法区别解析
Jul 11 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
php中url传递中文字符,特殊危险字符的解决方法
2013/08/17 PHP
PHP7下协程的实现方法详解
2017/12/17 PHP
PHP程序员学习使用Swoole的理由
2018/06/24 PHP
Thinkphp整合阿里云OSS图片上传实例代码
2019/04/28 PHP
jQuery当鼠标悬停时放大图片的效果实例
2013/07/03 Javascript
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
js获取checkbox复选框选中的选项实例
2014/08/24 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
JS实现适合于后台使用的动画折叠菜单效果
2015/09/21 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
js仿小米官网图片轮播特效
2016/09/29 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
Javascript中字符串相关常用的使用方法总结
2017/03/13 Javascript
Angular2.js实现表单验证详解
2017/06/23 Javascript
Vue学习笔记进阶篇之过渡状态详解
2017/07/14 Javascript
element-ui 表格数据时间格式化的方法
2018/08/24 Javascript
对angular4子路由&amp;辅助路由详解
2018/10/09 Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
2020/04/27 Javascript
[01:19:11]Ti4 循环赛第二日 NaVi.us vs iG
2014/07/11 DOTA
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
python33 urllib2使用方法细节讲解
2013/12/03 Python
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
django创建自定义模板处理器的实例详解
2017/08/14 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
Python3 导入上级目录中的模块实例
2019/02/16 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
实例讲解CSS3中的box-flex弹性盒属性布局
2016/06/09 HTML / CSS
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
英国在线药房和在线医生:LloydsPharmacy
2019/10/21 全球购物
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
公司薪酬管理制度
2014/01/31 职场文书
简单通用的简历自我评价
2014/09/21 职场文书
基层医务人员三严三实心得体会
2016/01/05 职场文书
初中数学教学反思范文
2016/02/17 职场文书
导游词之无锡东林书院
2019/12/11 职场文书