基于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 相关文章推荐
javascript级联下拉列表实例代码(自写)
May 10 Javascript
20个实用的JavaScript技巧分享
Nov 28 Javascript
javascript中Date对象的getDay方法使用指南
Dec 22 Javascript
JavaScript_object基础入门(必看篇)
Jun 13 Javascript
js判断出两个字符串最大子串的函数实现方法
Nov 01 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
Dec 08 Javascript
jQuery实现别踩白块儿网页版小游戏
Jan 18 Javascript
详解webpack require.ensure与require AMD的区别
Dec 13 Javascript
Angular实现的简单定时器功能示例
Dec 28 Javascript
JavaScript实现美化滑块效果
May 17 Javascript
vue跳转页面的几种方法(推荐)
Mar 26 Javascript
JavaScript enum枚举类型定义及使用方法
May 15 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导出word文档与excel电子表格的简单示例代码
2014/03/08 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
2014/08/16 PHP
浅析php创建者模式
2014/11/25 PHP
php中错误处理操作实例分析
2019/08/23 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
基于jquery的给文章加入关键字链接
2010/10/26 Javascript
Function.prototype.bind用法示例
2013/09/16 Javascript
JS实现图片无间断滚动代码汇总
2014/07/30 Javascript
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
全面解析Bootstrap弹窗的实现方法
2015/12/01 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
2016/10/13 Javascript
使用Curl命令查看请求响应时间方法
2016/11/04 Javascript
深入理解Javascript箭头函数中的this
2017/02/13 Javascript
详解Angular 4.x 动态创建组件
2017/04/25 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
在vue中根据光标的显示与消失实现下拉列表
2019/09/29 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
jQuery中event.target和this的区别详解
2020/08/13 jQuery
python实现从ftp服务器下载文件的方法
2015/04/30 Python
详解python的ORM中Pony用法
2018/02/09 Python
python3.4.3下逐行读入txt文本并去重的方法
2018/04/29 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
基于Python对数据shape的常见操作详解
2018/12/25 Python
python3实现mysql导出excel的方法
2019/07/31 Python
Python基于Tensor FLow的图像处理操作详解
2020/01/15 Python
Python基于template实现字符串替换
2020/11/27 Python
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
英国领先的男士服装和时尚零售商:Burton
2017/01/09 全球购物
英国家庭家具、照明和花园家具购物网站:Furniture123
2018/12/31 全球购物
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
采购文员岗位职责
2013/11/20 职场文书
单位门卫岗位职责
2013/12/20 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书