当前位置: 首页 > article >正文

vue实现图片无限滚动播放

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

文章目录

  • 实现效果
  • 代码展示
  • 总结


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

实现效果

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

请添加图片描述

代码展示

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

<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>
<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>

<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的方法显示,如果大佬有什么更好更便捷的实现方式,欢迎讨论指出


http://www.kler.cn/a/385802.html

相关文章:

  • JS学习日记(jQuery库)
  • 【小白可懂】微信小程序---课表渲染
  • 网络学习第四篇
  • Python如何获取request response body
  • ES6更新的内容中什么是proxy
  • 金融领域先锋!海云安成功入选2024年人工智能先锋案例集
  • 线上模型准确率估计——在没有标签的测试数据上估计模型准确率
  • 【CAN通信】
  • TVM计算图分割--LayerGroup
  • 大数据 ETL + Flume 数据清洗 — 详细教程及实例(附常见问题及解决方案)
  • gazebo仿真时xyz如何填写
  • AI赋能·创新视界——冠捷科技集团亮相第七届中国国际进口博览会
  • 无人机通信新宠 - SX1276
  • UDP协议:报文结构和注意事项
  • cesium 设置相机视角 flyTo 参数destination,orientation
  • 【算法】【优选算法】滑动窗口(上)
  • 几个docker可用的镜像源
  • Unexpected response code: 400解决
  • python 爬虫 入门 六、Selenium
  • 【网络安全】开发中存在的重定向与Referer问题
  • 【MySQL 保姆级教学】深层理解索引及特性(重点)--下(12)
  • lua入门教程:math
  • 麻省理工学院的研究人员最近开发了一种新的机器人训练方法
  • 互联网技术净土?原生鸿蒙开启全新技术征程
  • Tomcat中如何指定JDK版本
  • node.js版本管理工具nvm