• js实现图片无缝循环跑马灯


    html 代码

    <div class="myls-out-div" style="overflow: hidden;">
    
        <ul id="mylspaomadeng"  class="myls-ul"  >
    
            <li  class="myls-li">
    
                <img  class="myls-img" src="img/indexImg/myls1.png" />
    
            </li>
    
            <li  class="myls-li">
    
                <img  class="myls-img" src="img/indexImg/myls2.png" />
    
            </li>
    
            <li  class="myls-li">
    
                <img  class="myls-img" src="img/indexImg/myls3.png" />
    
            </li>
    
            <li  class="myls-li">
    
                <img  class="myls-img" src="img/indexImg/myls4.png"  />
    
            </li>
    
        </ul>
    
     </div>
    
    
    

    css

    .myls-out-div {
    
         100%;
    
        height: 212px;
    
        background-color: #fafafa;
    
        float: left;
                
        overflow: hidden;
    
     }
          
     .myls-img {
    
        height: 100%;
    
    }
    
    .myls-ul{
    
        float: left;
    
        height: 100%;
    
        position: relative;
    
        margin: 0px;
    
        padding: 0px;
    
    }
    
     .myls-li{
    
        list-style: none;
    
        display: inline-block;
    
        float: left;
    
        padding-right: 15px;
    
        padding-top: 15px;
    
        padding-bottom: 15px;
    
        height: 100%;
    
    }
    
    

    js代码

    function mylsRunHorseLight() {
    
          if (mylsTimer != null) {
    
                clearInterval(mylsTimer);
    
          }
    
          var oUl = document.getElementById("mylspaomadeng");
    
          if(oUl != null){
    
                oUl.innerHTML += oUl.innerHTML;
    
                oUl.innerHTML += oUl.innerHTML;
    
                oUl.innerHTML += oUl.innerHTML;
    
                var lis = oUl.getElementsByTagName('li');
    
                var lisTotalWidth = 0;
    
                var resetWidth = 0;
    
                for (var i = 0; i < lis.length; i++) {
    
                      lisTotalWidth += lis[i].offsetWidth;
    
                }
    
                for (var i = 1; i <= lis.length / 4; i++) {
    
                      resetWidth += lis[i].offsetWidth;
    
                }
    
                oUl.style.width = lisTotalWidth + 'px';
    
                var left = 0;
    
                mylsTimer = setInterval(function() {
    
                      left -= 1;
    
                      if (left <= -resetWidth) {
    
                            left = 0;
    
                      }
    
                      oUl.style.left = left + 'px';
    
                }, 20)
    
                $("#mylspaomadeng").hover(function() {
    
                      clearInterval(mylsTimer);
    
                }, function() {
    
                      clearInterval(mylsTimer);
    
                      mylsTimer = setInterval(function() {
    
                            left -= 1;
    
                            if (left <= -resetWidth) {
    
                                  left = 0;
    
                            }
    
                            oUl.style.left = left + 'px';
    
                      }, 20);
    
                })
    
          }
    
    }
    
    
    

    注意事项

    正常来说,宽度是自动获取进行计算的。在普通的工程下都没有问题,在 Spring Boot 项目中,我发现此处失效,查看原因是因为图片加载过慢,没有找到特别好的解决办法,直接将宽度限制死了。宽度的两种方法大家根据自身需要选择。目前失效的问题只出现在了 Spring Boot 工程上。

  • 相关阅读:
    VS2010版快捷键
    Win7旗舰版中的IIS配置asp.net的运行环境
    实现软件自动在线升级的原理
    view_countInfo
    C#尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
    error: 40
    SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法
    继承实现圆柱体面积体积的计算
    圆柱模板价格计算器V1.0版本
    python3.7内置函数整理笔记
  • 原文地址:https://www.cnblogs.com/jichi/p/11313124.html
Copyright © 2020-2023  润新知