vue实现图片无限滚动播放

本人vue新手菜鸡,文章为自己在项目中遇到问题的记录,如有不足还请大佬指正

文章目录


因为刚接触vue,本想着看看能不能用一些element的组件实现图片的轮播效果,尝试使用过element-UI里的走马灯Carouse,但是达不到想要的效果,最后发现还是原始的html+css样式实现才是最🐂的!

实现效果

真实效果能够实现图片的无缝无限轮转

代码展示

这里进行了图片轮播的两次操作(即代码中的'复制'),如果只有一次的话无法实现"无限"这个效果,列表播完就会有一段空白的部分。(可能是我太菜了TAT)

c 复制代码
<temple>
          <el-card style="width: 100%">
            <div class="index-section-info info6">
              <h3 class="index-title">动态图片</h3>
            </div>
            <div class="gundongBox">
              <div class="gundong">
                <div class="topgun">
                  <div class="scroll-container">
                    <!-- 初始图片 -->
                    <div class="smallbox" v-for="(item, index) in images" :key="index">
                      <img :src="item.url" class="slide-image" />
                    </div>
                    <!-- 复制图片以实现无限滚动 -->
                    <div class="smallbox" v-for="(item, index) in images" :key="index">
                      <img :src="item.url" class="slide-image" />
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </el-card>
</temple>
c 复制代码
<script>
const images = [
  { url: 'http://localhost:8100/src/assets/main/picture/newPic.gif' },
  { url: 'http://localhost:8100/src/assets/main/picture/newPic2.gif' },
  { url: 'http://localhost:8100/src/assets/main/picture/newPic3.gif' },
  { url: 'http://localhost:8100/src/assets/main/picture/newPic4.gif' },
  { url: 'http://localhost:8100/src/assets/main/picture/newPic5.gif' },
  { url: 'http://localhost:8100/src/assets/main/picture/newPic6.gif' },
  { url: 'http://localhost:8100/src/assets/main/picture/newPic7.gif' },
  { url: 'http://localhost:8100/src/assets/main/picture/newPic8.gif' },
]
</script>
c 复制代码
<style lang="scss" scoped>
.gundongBox {
  margin-top: 10px;
  .gundong {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    .topgun {
      height: 110px;
      display: flex;
      overflow: hidden;
      .scroll-container {
        display: flex;
        animation: slide 10s linear infinite;
        .smallbox {
          width: 25%;
          display: flex;
          img.slide-image {
            display: flex;
          }
        }
      }
    }
    .scroll-container:hover {
      cursor: pointer;
      animation-play-state: 'paused';
    }
  }
  @keyframes slide {
    0% {
      transform: translateX(0%);
    }
    100% {
      transform: translateX(-50%); // 滚动一个小框的宽度
    }
  }
  @keyframes moves {
    0% {
      transform: translateX(-50%);
    }
    100% {
      transform: translateX(0%); // 滚动一个小框的宽度
    }
  }
}
</style>

总结

暂时没有找到什么更好方法(不用.js的),只能用css的方法显示,如果大佬有什么更好更便捷的实现方式,欢迎讨论指出

相关推荐
福兮说5 小时前
设计稿是 #4A7C6F,页面量出来是 #4B7C6F:HEX、HSL、透明度、canvas 来回转的七个坑
前端·javascript·css·canvas
郑州光合科技余经理6 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
小呆呆6666 小时前
副业搞起来,小说,漫画,漫剧的成本优化思路
前端·后端·面试
Dovis(誓平步青云)7 小时前
浇水提醒刚弹出又消失,植物状态别只存一个百分比
开发语言·前端·javascript·pdf·ecmascript·电脑
周杰伦fans7 小时前
8GB显存下模型量化实战指南
人工智能·后端·c#
码艺-Alimjan7 小时前
Vben Admin 新增维吾尔语 Vben-Modal的关键坑之一
前端·javascript·vue.js
可乐鸡翅yeah_8 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
IT_陈寒8 小时前
Vite静态资源导入这个坑我帮你们踩过了
前端·人工智能·后端
广州华水科技8 小时前
大坝安全监测解决方案:单北斗GNSS形变监测系统应用与维护
前端
samble9 小时前
从零搭建灌装监控系统(十二):配置系统,原子写入与容错
c#·wpf·mvvm·modbus·工业控制