• 用js实现图片的无缝滚动效果


    实现图片的无缝滚动就是要让你的图片集在一定时间里自动切换,那就需要js里的定时器来控制时间。

      js中关于定时器的方法有两种:setTimeout和setInterval。它们接收的参数是一样的,第一个参数是函数,用于定时器的执行,第二个参数是数字,表示多少毫秒之后执行函数。它们的不同点在于setTimeout只执行一次指定的函数,而setInterval则每隔规定的时间就执行一次指定的函数。

      在定时器后面我们还要知道清除定时器的方法:clearTimeout和clearInterval。它们都只接收一个参数,即定时器返回的值,用于消除指定的定时器。

      知道定时器以后我们就要想办法让图片动起来,让图片元素按一定的速度移位就能实现。可以用js控制元素的样式,例如:

      oUl.style.left = oUl.offsetLeft + speed + 'px';//其中speed的正负可以改变移动的方向。

      代码如下:

    <!DOCTYPE html>
    <html lang="en">

    <head>
    <meta charset="UTF-8">
    <title>ZuiYangDan</title>
    <style>
    * {
    margin: 0;
    padding: 0;
    list-style: none;
    }

    #container {
    100%;
    border: 1px solid #aaa;
    margin: 100px 0px;
    }

    #pictures {
    100%;
    height: 520px;
    overflow: hidden;
    position: relative;
    }

    #ul1 {
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
    }

    #ul1 li {
    float: left;
    700px;
    height: auto;
    }

    #ul1 li img {
    700px;
    height: auto;
    }

    </style>
    <script>
    window.onload = function() {
    var oDiv = document.getElementById("pictures");
    var oUl = document.getElementById("ul1");
    var speed = -3;
    var oLi = document.getElementsByTagName("li");

    oUl.innerHTML += oUl.innerHTML;//先把图片增加一组
    oUl.style.width = oLi.length * oLi[0].offsetWidth + "px";

    function move() {
    if (oUl.offsetLeft < -oUl.offsetWidth / 2) {
    oUl.style.left = "0";
    }
    oUl.style.left = oUl.offsetLeft + speed + "px";
    }
    var timer = setInterval(move, 30);
    oDiv.onmouseover = function() {
    clearInterval(timer);
    };
    oDiv.onmouseout = function() {
    timer = setInterval(move, 30);
    };
    }

    </script>
    </head>

    <body>
    <div id="container">
    <div id="pictures">
    <ul id="ul1">
    <li><img src="images/z11_08.jpg" alt=""></li>
    <li><img src="images/z12_10.jpg" alt=""></li>
    <li><img src="images/z13_13.jpg" alt=""></li>
    <li><img src="images/zl4_15.jpg" alt=""></li>
    </ul>
    </div>
    </div>
    </body>

    </html>

  • 相关阅读:
    Python的17种骚操作
    Python使用pip下载慢的原因
    Mysql数据库的安装
    Python中遇到的难解的提示:
    Linux使用SecureCRT远程终端工具的使用
    Linux下IP命令使用详解
    (未解决)jmeter报错之“请在微信客户端打开链接”
    Python学习笔记系列——九九乘法表&猜大小
    《Mysql必知必会》笔记
    (未解决)记录一次登录&jmeter,留下的一地鸡毛
  • 原文地址:https://www.cnblogs.com/xiaomifeng/p/9077549.html
Copyright © 2020-2023  润新知