<template>
  <div class='carousel'>
    <div class='carousel-container' :style="{ transform: `translateX(${x}px)` }">
      <div class='carousel-item' v-for='(item, index) in items' :key='index'>
        <img :src='item.image' alt=''>
      </div>
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      items: [
        { image: 'https://via.placeholder.com/150x150/FF0000/FFFFFF' },
        { image: 'https://via.placeholder.com/150x150/00FF00/FFFFFF' },
        { image: 'https://via.placeholder.com/150x150/0000FF/FFFFFF' },
        { image: 'https://via.placeholder.com/150x150/FFFF00/FFFFFF' },
        { image: 'https://via.placeholder.com/150x150/FF00FF/FFFFFF' }
      ],
      x: 0
    }
  },
  methods: {
    moveCarousel() {
      setInterval(() => {
        this.x -= 150
      }, 2000)
    }
  },
  mounted() {
    this.moveCarousel()
  }
}
</script>
<style>
.carousel {
  width: 100%;
  overflow: hidden;
}

.carousel-container {
  display: flex;
  transition: transform 1s ease;
}

.carousel-item {
  flex: 0 0 150px;
  margin-right: 20px;
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
</style>
Vue.js 图片轮播代码:实现流畅的图片滚动效果

原文地址: https://www.cveoy.top/t/topic/lAzP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录