首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js左右滚动图片代码

以下是一个使用 JavaScript 实现左右滚动图片的简单示例代码:

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>图片左右滚动</title>
  <style>
    #scrollDiv {
      width: 300px;
      height: 100px;
      overflow: hidden;
      position: relative;
    }

    #scrollContent {
      display: flex;
      position: absolute;
      left: 0;
      top: 0;
      transition: left 0.5s;
    }

    #scrollContent img {
      width: 100px;
      height: 100px;
      margin-right: 10px;
    }
  </style>
</head>

<body>
  <div id="scrollDiv">
    <div id="scrollContent">
      <img src="image1.jpg" alt="Image 1">
      <img src="image2.jpg" alt="Image 2">
      <img src="image3.jpg" alt="Image 3">
      <img src="image4.jpg" alt="Image 4">
    </div>
  </div>
  <button onclick="scrollLeft()">向左滚动</button>
  <button onclick="scrollRight()">向右滚动</button>

  <script>
    let scrollAmount = 0;
    const scrollContent = document.getElementById('scrollContent');
    const scrollDiv = document.getElementById('scrollDiv');
    const imageWidth = 100; // 每张图片的宽度(包括间距)

    function scrollLeft() {
      if (scrollAmount < 0) {
        scrollAmount += imageWidth;
        scrollContent.style.left = scrollAmount + 'px';
      }
    }

    function scrollRight() {
      if (scrollAmount > -(scrollContent.children.length - 1) * imageWidth) {
        scrollAmount -= imageWidth;
        scrollContent.style.left = scrollAmount + 'px';
      }
    }
  </script>
</body>

</html>

基础概念:

  • scrollContent 是包含所有图片的容器,通过改变其 left 属性来实现滚动效果。
  • scrollAmount 用于记录滚动的距离。

优势:

  • 简单易懂,易于实现。
  • 可以通过按钮控制滚动方向。

类型:

  • 这属于基于 JavaScript 和 CSS 的简单动画效果。

应用场景:

  • 可用于网站的轮播图展示、新闻资讯的滚动展示等。

常见问题及解决方法:

  • 如果滚动不流畅,可能是由于浏览器性能问题,可以尝试优化图片大小,或者使用 requestAnimationFrame 来优化动画效果。
  • 如果滚动超出范围,检查 scrollLeftscrollRight 函数中的边界判断条件是否正确。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • html左右循环滚动代码,不间断循环滚动效果的实例代码(必看篇)

    滚动测试 /** * @para obj 目标对象 如:demo,deml1,demo2 中的”demo” 可任意,只要不重复 * * @para speed 滚动速度 越大越慢 * * @para...direction 滚动方向 包括:left,right,down,up * * @para objWidth 总可见区域宽度 * * @para objHeight 总可见区域高度 * * @para...filePath 存放滚动图片的路径 (如果是自动获取文件夹里的图片滚动) * * @para contentById 对某id为contentById下的内容进行滚动 此滚动与filePath不能共存请注意...=””) demo1.innerHTML=$(contentById).innerHTML; demo2.innerHTML=demo1.innerHTML; // 左右滚动 function LRStructure...+=” “; _html+=” “; _html+=” “; _html+=” “; _html+=” “; _html+=” “; return _html; } // 取得文件夹下的图片

    4.8K20

    js实现单张或多张图片持续无缝滚动

    背景: 想要实现图片持续滚动,既然使用js,就千万不要加css动画、过渡等相关样式,如果想要滚动的平滑一下,可以一像素一像素的感动,则很平滑,如果加了过渡动画,当图片重置为0时,会有往回倒的动画效果,跟预期不符...原理: 图片滚动原理同图片轮播原理,同样也适用于文字滚动等一系列滚动,通过复制最后一张图片或最后一堆文字插入第一行,或复制第一张图片或一堆文字插入在结尾,来实现无缝拼接,前提:1、必须是没有设置过渡动画的...,2、重置为0的时候与当前已经滚动到的高度对于图片的位置而言肉眼看上去没变化。...实现: html主要包含三块: 1、最外层盒子,用来展示滚动图的区域,overflow:hidden; 2、滚动的盒子,主要改变该盒子的定位值,来实现滚动,里面包含所有要滚动的图片或文字 3、包含图片或文字的盒子...代码: class Roll { constructor(opts) { this.elem = opts.elem; // 图片包含滚动长度的元素的 this.elemBox

    7.6K10

    JS简易整页滚动

    fullPage超简易版本 1.知识点 JS 滚动监听事件 JS 移动端touch监听事件 函数节流 DOM操作 2.示例GIF ?...示例GIF 3.代码分析 1.CSS html, body设置 overflow 为 hidden, 让视图中只包括一个分页;设置滑动分页的长宽都是 100%; 外部容器设置 transition 过渡效果...向下滚动时, 当 currentPosition 比 -整体分页高度 大的时候(绝对值相比小的时候), 向下滚动;向上滚动时, 当 currentPosition 大于 0 的时候, 向上滚动. /...滚动事件firefox与其他浏览器的事件不同, 所以需要进行判断. deltaY大于0的时候, 想下滚动; 反之, 向上滚动. var handlerWheel = throttle(scrollMove...mousewheel_event#The_detail_property https://developer.mozilla.org/en-US/docs/Web/API/Touch_events 5.整体代码

    15.7K31
    领券