html 代码

  1. <div class="myls-out-div" style="overflow: hidden;">
  2. <ul id="mylspaomadeng" class="myls-ul"  >
  3. <li class="myls-li">
  4. <img class="myls-img" src="img/indexImg/myls1.png" />
  5. </li>
  6. <li class="myls-li">
  7. <img class="myls-img" src="img/indexImg/myls2.png" />
  8. </li>
  9. <li class="myls-li">
  10. <img class="myls-img" src="img/indexImg/myls3.png" />
  11. </li>
  12. <li class="myls-li">
  13. <img class="myls-img" src="img/indexImg/myls4.png"  />
  14. </li>
  15. </ul>
  16. </div>

css

  1. .myls-out-div {
  2. width: 100%;
  3. height: 212px;
  4. background-color: #fafafa;
  5. float: left;
  6. overflow: hidden;
  7. }
  8. .myls-img {
  9. height: 100%;
  10. }
  11. .myls-ul{
  12. float: left;
  13. height: 100%;
  14. position: relative;
  15. margin: 0px;
  16. padding: 0px;
  17. }
  18. .myls-li{
  19. list-style: none;
  20. display: inline-block;
  21. float: left;
  22. padding-right: 15px;
  23. padding-top: 15px;
  24. padding-bottom: 15px;
  25. height: 100%;
  26. }

js代码

  1. function mylsRunHorseLight() {
  2.       if (mylsTimer != null) {
  3.             clearInterval(mylsTimer);
  4.       }
  5.       var oUl = document.getElementById("mylspaomadeng");
  6.       if(oUl != null){
  7.             oUl.innerHTML += oUl.innerHTML;
  8.             oUl.innerHTML += oUl.innerHTML;
  9.             oUl.innerHTML += oUl.innerHTML;
  10.             var lis = oUl.getElementsByTagName('li');
  11.             var lisTotalWidth = 0;
  12.             var resetWidth = 0;
  13.             for (var i = 0; i < lis.length; i++) {
  14.                   lisTotalWidth += lis[i].offsetWidth;
  15.             }
  16.             for (var i = 1; i <= lis.length / 4; i++) {
  17.                   resetWidth += lis[i].offsetWidth;
  18.             }
  19.             oUl.style.width = lisTotalWidth + 'px';
  20.             var left = 0;
  21.             mylsTimer = setInterval(function() {
  22.                   left -= 1;
  23.                   if (left <= -resetWidth) {
  24.                         left = 0;
  25.                   }
  26.                   oUl.style.left = left + 'px';
  27.             }, 20)
  28.             $("#mylspaomadeng").hover(function() {
  29.                   clearInterval(mylsTimer);
  30.             }, function() {
  31.                   clearInterval(mylsTimer);
  32.                   mylsTimer = setInterval(function() {
  33.                         left -= 1;
  34.                         if (left <= -resetWidth) {
  35.                               left = 0;
  36.                         }
  37.                         oUl.style.left = left + 'px';
  38.                   }, 20);
  39.             })
  40.       }
  41. }

注意事项

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

js实现图片无缝循环跑马灯的更多相关文章

  1. js无缝滚动跑马灯

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. js实现图片无缝轮播

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. js 图片无缝循环

    <html> <head> <title>Js图片无缝滚动</title> <style type="text/css"> ...

  4. 图片滚动js 实现图片无缝滚动

    在改章节中,我们主要介绍图片滚动的内容,自我感觉有个不错的建议和大家分享下 非常平滑的JS图片滚动特效代码,无缝循环,速度可自定义,鼠标悬停时停止.它的特点是JS和图片地址分离,这样做你就经易的从数据 ...

  5. js 实现图片间隔循环轮播以及没有间隔的循环轮播

    链接地址:http://blog.sina.com.cn/s/blog_75cf5f32010199dn.html 最近做了个图片循环轮播的功能.就是几张图片不断的循环滚动显示. 感觉这个方法不错所以 ...

  6. vue.js(4)--字符串跑马灯

    制作一个字符串的跑马灯效果 (1)实例代码 <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  7. JS实现图片无缝滚动特效;附addEventListener()方法、offsetLeft和offsetWidth属性。

    一:html部分 <body> <input id="btn1" type="button" value="向左"> ...

  8. 使用 JS 实现文字左右跑马灯

    Ø  前言 其实,前面两篇已经基本上实现了图片.文字跑马灯,这里为什么还要学下文字左右跑马灯呢?因为,虽然基本一样,但实现起来还是有很大不同的,所以为了完整再补充一下.代码如下: 1.   首先定义 ...

  9. 原生JS—实现图片循环切换的两种方法

    今天我们主要讲讲如何使用原生JS实现图片的循环切换的方法.多余的话我们就不多说了,我们一个一个开始讲吧. 1  原生JS实现图片循环切换 -- 方法一 在上栗子之前我们先简单介绍一下所用的一些知识点. ...

随机推荐

  1. CSS新特性之3D转换

    1. 三维坐标系 x轴:水平向右(右边是正,左边是负) y轴:垂直向下(向下是正,向上是负) z轴:垂直屏幕(向外是正,向里是负) 2. 3D转换 3D转换中最常用的是3D位移和3D旋转.主要知识点如 ...

  2. 【使用篇二】Quartz自动化配置集成(17)

    出处:https://www.jianshu.com/p/49133c107143 定时任务在企业项目比较常用到,几乎所有的项目都会牵扯该功能模块,定时任务一般会处理指定时间点执行某一些业务逻辑.间隔 ...

  3. 安卓投屏助手(ARDC)最新版

    安卓投屏助手(B1493) 1.兼容Android 10: 2.增加灭屏投屏功能: 3.增加显示鼠标位置功能; 4.增加了虚拟NaviBar功能: 5.捐赠界面增加QQ支付,移除Paypal,感谢大家 ...

  4. Pipe——高性能IO(二)

    Pipelines - .NET中的新IO API指引(一) Pipelines - .NET中的新IO API指引(二) 关于System.IO.Pipelines的一篇说明 System.IO.P ...

  5. Idea中新建yml不显示叶子形状的原因

    IntelliJ IDEA 2019.2.4 x64 (版本),不显示叶子形状,导致写配置无法自动提示(自动提示请安装插件)Spring Assistant 先看一下Editor--->File ...

  6. 【数据结构】什么是二叉查找树(BST)

    什么是二叉查找树(BST) 1. 什么是BST 对于二叉树中的每个节点X,它的左子树中所有项的值都小于X中的项,它的右子树中所有项的值大于X中的项.这样的二叉树是二叉查找树. 以上是一颗二叉查找树,其 ...

  7. 从web到游戏,走出舒适区

    最近很久没有更新博客了,实在太忙.因为在这段时间里我做了一个改变了我现在职业生涯的一个决定,而我现在正在为这个决定而加倍的努力付出. 我认为我还是有必要把这个比较重要的节点记录下来,我也是第一次在自己 ...

  8. C#_.NetFramework_Web项目_NPOI_EXCEL数据导入

    [推荐阅读我的最新的Core版文章,是最全的介绍:C#_.NetCore_Web项目_EXCEL数据导出] 项目需要引用NPOI的Nuget包: B-2--EXCEL数据导入--NPOI--C#获取数 ...

  9. Go-for循环

    一.第一种情况(死循环) package main import "fmt" func main() { for{ fmt.Println("fuck") } ...

  10. 面试再问ThreadLocal,别说你不会

    转载自:公众号<Java知音> ThreadLocal是什么 以前面试的时候问到ThreadLocal总是一脸懵逼,只知道有这个哥们,不了解他是用来做什么的,更不清楚他的原理了.表面上看他 ...