js:无缝轮播实现原理

简介: js:无缝轮播实现原理

实现滚动效果

1.gif

demo地址:https://mouday.github.io/front-end-demo/swiper.html

代码:

<style>
    body {
      display: flex;
      justify-content: center;
    }
    .box-wrap {
      width: 440px;
      height: 80px;
      border: 1px solid #333;
      position: relative;
      overflow: hidden;
    }
    .box-list {
      position: absolute;
      display: flex;
      align-items: center;
      left: 0;
    }
    .box {
      width: 80px;
      height: 80px;
      margin-right: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #eeeeee;
      color: #000000;
      font-weight: 500;
    }
  </style>
  <div class="box-wrap">
    <div class="box-list">
      <div class="box">1</div>
      <div class="box">2</div>
      <div class="box">3</div>
      <div class="box">4</div>
      <div class="box">5</div>
    </div>
  </div>
  <script>
    let box_list = document.querySelector('.box-list');
    // 复制一份list
    box_list.innerHTML += box_list.innerHTML;
    let left = 0;
    let timer = null;
    // 启动定时器,动态移动list
    function startTimer() {
      timer = setInterval(() => {
        left -= 2;
        // 每个元素的宽度和margin距离
        if (left == -(5 * (80 + 10))) {
          left = 0;
        }
        box_list.style.left = left;
      }, 20)
    }
    // 鼠标移入暂停
    box_list.onmouseenter = function () {
      clearInterval(timer);
    }
    // 鼠标离开继续
    box_list.onmouseleave = function () {
      startTimer()
    }
    // 页面加载的时候启动定时器
    startTimer();
  </script>
相关文章
|
4月前
|
前端开发 JavaScript
杨老师课堂之JavaScript案例手动切换轮播图片
杨老师课堂之JavaScript案例手动切换轮播图片
32 2
|
4月前
|
前端开发 JavaScript
杨老师课堂之JavaScript案例之自动切换轮播图片
杨老师课堂之JavaScript案例之自动切换轮播图片
29 1
|
4月前
|
Web App开发 前端开发 JavaScript
技术心得记录:瀑布流的布局原理分析(纯CSS瀑布流与JS瀑布流)
技术心得记录:瀑布流的布局原理分析(纯CSS瀑布流与JS瀑布流)
45 0
|
13天前
|
前端开发 JavaScript Java
JavaScript的运行原理
JavaScript 的运行原理包括代码输入、解析、编译、执行、内存管理和与浏览器交互几个步骤。当打开网页时,浏览器加载 HTML、CSS 和 JavaScript 文件,并通过 JavaScript 引擎将其解析为抽象语法树(AST)。接着,引擎将 AST 编译成字节码或机器码,并在执行阶段利用事件循环机制处理异步操作,确保单线程的 JavaScript 能够高效运行。同时,JavaScript 引擎还负责内存管理和垃圾回收,以减少内存泄漏。通过与 DOM 的交互,JavaScript 实现了动态网页效果,提供了灵活且高效的开发体验。
|
18天前
|
存储 JavaScript 前端开发
[JS] ES Modules的运作原理
【9月更文挑战第16天】ES Modules(ECMAScript Modules)是 JavaScript 中的一种模块化开发规范,适用于浏览器和 Node.js 环境。它通过 `export` 和 `import` 关键字实现模块的导出与导入。模块定义清晰,便于维护和测试。JavaScript 引擎会在执行前进行静态分析,确保模块按需加载,并处理循环依赖。ES Modules 支持静态类型检查,现代浏览器已原生支持,还提供动态导入功能,增强了代码的灵活性和性能。这一规范显著提升了代码的组织和管理效率。
|
2月前
|
缓存 JavaScript 前端开发
[译] Vue.js 内部原理浅析
[译] Vue.js 内部原理浅析
|
2月前
|
JavaScript 前端开发 安全
JS 混淆解析:JS 压缩混淆原理、OB 混淆特性、OB 混淆JS、混淆突破实战
JS 混淆解析:JS 压缩混淆原理、OB 混淆特性、OB 混淆JS、混淆突破实战
49 2
|
2月前
|
JavaScript
js文字如何轮播?
js文字如何轮播?
24 2
|
2月前
|
缓存 开发框架 JavaScript
人人都能看懂的鸿蒙 “JS 小程序” 数据绑定原理 | 解读鸿蒙源码
人人都能看懂的鸿蒙 “JS 小程序” 数据绑定原理 | 解读鸿蒙源码
|
2月前
|
存储 JavaScript 前端开发
JavaScript——对闭包的看法,为什么要用闭包?说一下闭包原理以及应用场景
JavaScript——对闭包的看法,为什么要用闭包?说一下闭包原理以及应用场景
33 0
下一篇
无影云桌面