zoukankan      html  css  js  c++  java
  • [转载]javascript练习(二)JS实现淘宝幻灯片效果

    淘宝幻灯片效果:能自动播放,鼠标指向或者点击数字按钮就能切换图片。

    实现思路:

    1、for循环给数字按钮加上点击事件。

    2.for循环先把按钮的样式清空,再把当前样式设置样式。

    3、给每个按钮添加自定义属性index aBtn[i].index=i aBtn[2]=2 第二个按钮和第二张图片想对应,用运动框架把大图的UL每次移动-150px,因为图片高度是150px。如果移动到第n张图片就是-150*n。

    4、定义变量now,用来自动播放用的。把当前图片赋值给now  now=this.index。

    5、定义自动播放函数。now++ 下一张,if判断,到最后一张图片的时候就把now设置为0,就是第一张。  if(now==aBtn.length)

    6、定义定时器,每2秒就调用一次自动播放函数。

    7、鼠标指向图片时就清除定时器。

    8、鼠标离开图片时就开启定时器。

    View Code

     

    完整代码:

    复制代码
     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>淘宝幻灯片上下滑动效果 —— www.zhinengshe.com —— 智能课堂</title>
     6 <link href="css.css" rel="stylesheet" type="text/css" />
     7 <script src="baseCommon.js"></script>
     8 <script>
     9 window.onload=function()
    10 {
    11     var oDiv=document.getElementById('play');
    12     var aBtn=oDiv.getElementsByTagName('ol')[0].getElementsByTagName('li');
    13     var oUl=oDiv.getElementsByTagName('ul')[0];
    14     var now=0;
    15     
    16     for(var i=0;i<aBtn.length;i++)
    17     {
    18         aBtn[i].index=i;
    19         aBtn[i].onmouseover=function()
    20         {
    21             now=this.index;  //当前值赋给now
    22             tab();
    23         }
    24     };
    25     
    26     function tab()
    27     {    
    28         for(var i=0;i<aBtn.length;i++) 
    29         {
    30             aBtn[i].className='';  //把所有按钮的样式清空
    31         };
    32         aBtn[now].className='active';  //当前按钮样式设置
    33         startMove(oUl,{top:-150*now});  //用运动框架把UL的TOP设置为当前个数*-150,第三张图片就是2*-150
    34     };
    35     
    36     function next()
    37     {
    38         now++;  //切换图片
    39         if(now==aBtn.length)  //如果到了最后一张图片
    40         {
    41             now=0;  //    把图片拉回第一张
    42         }
    43         tab();  //把图片拉回第一张后继续运动
    44     };
    45     
    46     var timer=setInterval(next,2000);  //2秒自动切换图片
    47     
    48     oDiv.onmouseover=function()
    49     {
    50         clearInterval(timer);  //清除定时器
    51     };
    52     
    53     oDiv.onmouseout=function()
    54     {
    55         timer=setInterval(next,2000);  //开启定时器
    56     };
    57 };
    58 </script>
    59 </head>
    60 
    61 <body>
    62 
    63 <div class="play" id="play">
    64     <ol>
    65         <li class="active">1</li>
    66         <li>2</li>
    67         <li>3</li>
    68         <li>4</li>
    69         <li>5</li>
    70     </ol>
    71     <ul>
    72         <li><a href="http://www.zhinengshe.com/"><img src="images/1.jpg" alt="广告一" /></a></li>
    73         <li><a href="http://www.zhinengshe.com/"><img src="images/2.jpg" alt="广告二" /></a></li>
    74         <li><a href="http://www.zhinengshe.com/"><img src="images/3.jpg" alt="广告三" /></a></li>
    75         <li><a href="http://www.zhinengshe.com/"><img src="images/4.jpg" alt="广告四" /></a></li>
    76         <li><a href="http://www.zhinengshe.com/"><img src="images/5.jpg" alt="广告五" /></a></li>
    77     </ul>
    78 </div>
    79 </body>
    80 </html>
  • 相关阅读:
    监控里的主码流和子码流是什么意思
    监控硬盘容量计算
    一个能让你了解所有函数调用顺序的Android库
    电工选线
    oracle linux dtrace
    list all of the Oracle 12c hidden undocumented parameters
    Oracle Extended Tracing
    window 驱动开发
    win7 x64 dtrace
    How to Use Dtrace Tracing Ruby Executing
  • 原文地址:https://www.cnblogs.com/guoguo0607/p/3238592.html
Copyright © 2011-2022 走看看