zoukankan      html  css  js  c++  java
  • 无缝滚动轮播

    效果图:

    实现的功能有:1.点击按钮实现换向。2.鼠标放到图片上,轮播停止移动。鼠标离开,轮播继续移动。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <style type="text/css">
    *{ margin:0; padding:0}
    #div2{ width:200px; margin-left:600px;}
    #div1{
        width:928px; height:232px;
        margin:100px auto;
         background:red;
          position:relative;
           overflow:hidden;
        }
    #div1 ul{ position:absolute; left:0; top:0;}
    #div1 ul li{ float:left; width:232px; height:232px; list-style:none;}
    </style>
    </head>
    
    <body>
    <div id="div1">
        <ul>
            <li><img src="img/1.jpg"></li>
            <li><img src="img/2.jpg"></li>
            <li><img src="img/3.jpg"></li>
            <li><img src="img/4.jpg"></li>
            
        </ul>
    </div>
    <br />
    <div id="div2"><input type="button" value="向左走" />
    <input type="button" value="向右走" /></div>
    </body>
    </html>
    View Code

    js代码:

    <script type="text/javascript">
    window.onload=function(){
            var oDiv=document.getElementById("div1");
            var oDiv2=document.getElementById("div2");
            var oUl=oDiv.getElementsByTagName("ul")[0];
            var aLi=oUl.getElementsByTagName('li');
            var speed=2;//调整轮播的速度
            oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;
            oUl.style.width=aLi[0].offsetWidth*aLi.length+"px";
            function move(){
                if(oUl.offsetLeft<-oUl.offsetWidth/2){
                        oUl.style.left='0';
                    }
                    if(oUl.offsetLeft>0){
                        oUl.style.left=-oUl.offsetWidth/2+"px";
                        }
                    oUl.style.left=oUl.offsetLeft+speed+"px";
                }
            var timer=setInterval(move,30);
                oDiv.onmouseover=function(){//鼠标放上,延时器移除
                        clearInterval(timer);
                        
                    }
                oDiv.onmouseout=function(){//鼠标移开,添加延时器
                        timer=setInterval(move,30);
                        }
                oDiv2.getElementsByTagName('input')[0].onclick=function(){
                                speed=-2;
                            }
                oDiv2.getElementsByTagName('input')[1].onclick=function(){
                                speed=2;
                            }
                            
        }
    </script>
    View Code

    通过修改变量speed可以修改轮播的速度。offsetWidth:是获取宽度。offsetLeft:获取左边的距离。

  • 相关阅读:
    百度云推送
    web请求报出 “超过了最大请求长度” 【注意:重启IIS】
    页面多个Jquery版本共存的冲突问题,解决方法!
    Web Api 中使用 PCM TO WAV 的语音操作
    Web Api 如何做上传文件的单元测试
    那些年收集的前端学习资源
    原创: 做一款属于自己风格的音乐播放器 (HTML5的Audio新特性)
    Web Api 接口文档制作
    如何在Asp.Net WebApi接口中,验证请求参数中是否携带token标识!
    JavaScript 面试题,给大家补补基础,加加油,埋埋坑!
  • 原文地址:https://www.cnblogs.com/zxl89/p/6289767.html
Copyright © 2011-2022 走看看