基于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 字符串连接性能优化
Dec 20 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
Jul 25 Javascript
setinterval()与clearInterval()JS函数的调用方法
Jan 21 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
May 09 Javascript
jquery获取下拉框中的循环值
Feb 08 Javascript
微信小程序实现皮肤功能(夜间模式)
Jun 18 Javascript
薪资那么高的Web前端必看书单
Oct 13 Javascript
jquery.picsign图片标注组件实例详解
Feb 02 jQuery
vuejs使用axios异步访问时用get和post的实例讲解
Aug 09 Javascript
node.js中事件触发器events的使用方法实例分析
Nov 23 Javascript
jQuery实现点击滚动到指定元素上的方法分析
Mar 19 jQuery
jQuery加PHP实现图片上传并提交的示例代码
Jul 16 jQuery
实现非常简单的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 array_intersect()函数使用代码
2009/01/14 PHP
php 购物车的例子
2009/05/04 PHP
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
2012/02/05 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
2015/04/08 PHP
ThinkPHP路由详解
2015/07/27 PHP
PHP实现动态压缩js与css文件的方法
2018/05/02 PHP
Yii2结合Workerman的websocket示例详解
2018/09/10 PHP
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
基于jquery自定义图片热区效果
2012/07/21 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
js实现模拟银行卡账号输入显示效果
2015/11/18 Javascript
使用angularjs创建简单表格
2016/01/21 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
django中静态文件配置static的方法
2018/05/20 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
django 前端页面如何实现显示前N条数据
2020/03/16 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
.NET面试10题
2014/02/24 面试题
捷科时代的软件测试笔试题
2015/11/09 面试题
《满井游记》教学反思
2014/02/26 职场文书
宪法宣传周工作方案
2014/05/26 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
公司会议开幕词
2015/01/29 职场文书
2016元旦晚会主持词
2015/07/01 职场文书
2016年中秋节寄语大全
2015/12/07 职场文书
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript