vue3实现轮播图,每次两个

显示效果:

代码实现:

 

<template>
  <el-carousel :loop="false" :autoplay="false" height="600px">
    <el-carousel-item
      class="el-car-item"
      v-for="(list, index) in dataList"
      :key="index"
    >
      <img
        v-for="(imgList, index2) in list"
        :key="index2"
        class="top-img"
        :src="imgList.img"
        :alt="imgList.title"
      />
    </el-carousel-item>
  </el-carousel>
</template>

<script setup>
import { ref } from "vue";
import imgurl from "../../assets/1.jpg";
import imgurl2 from "../../assets/3.jpg";
let dataList = ref([
  {
    title: "111",
    img: imgurl,
  },
  {
    title: "222",
    img: imgurl2,
  },
  {
    title: "333",
    img: imgurl2,
  },
  {
    title: "444",
    img: imgurl2,
  },
  {
    title: "555",
    img: imgurl,
  },
  {
    title: "666",
    img: imgurl,
  },
]);

let newDataList = ref([]);
let current = 0;
if (dataList.value && dataList.value.length > 0) {
  for (let i = 0; i <= dataList.value.length - 1; i++) {
    if (i % 2 !== 0 || i === 0) {
      if (!newDataList.value[current]) {
        newDataList.value.push([dataList.value[i]]);
      } else {
        console.log(newDataList.value[0]);
        newDataList.value[current].push(dataList.value[i]);
      }
    } else {
      current++;
      newDataList.value.push([dataList.value[i]]);
    }
  }
}
dataList.value = [...newDataList.value];
</script>

<style scoped>
.el-carousel__item h3 {
  display: flex;
  color: #475669;
  opacity: 0.75;
  line-height: 300px;
  margin: 0;
}

.el-carousel__item:nth-child(2n) {
  background-color: #99a9bf;
}

.el-carousel__item:nth-child(2n + 1) {
  background-color: #d3dce6;
}
.el-carousel__item {
  display: flex;
  justify-content: space-between;
}
.el-carousel__item img {
  width: 49%;
}
</style>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue 3 中实现轮播图可以使用第三方库或编写自定义组件。以下是一个简单的示例,演示如何使用 Vue 3 和 Vue Slick Carousel 库来实现轮播图: 1. 首先,确保已经安装了 Vue 3 和 Vue Slick Carousel。可以使用 npm 或 yarn 进行安装: ``` npm install vue@next npm install vue-slick-carousel ``` 2. 在你的 Vue 组件中,导入 VueVue Slick Carousel: ```javascript import { createApp } from 'vue'; import VueSlickCarousel from 'vue-slick-carousel'; import 'vue-slick-carousel/dist/vue-slick-carousel.css'; import 'vue-slick-carousel/dist/vue-slick-carousel-theme.css'; ``` 3. 在组件的 template 中,使用 Vue Slick Carousel 的轮播图组件: ```html <template> <vue-slick-carousel :options="carouselOptions"> <div v-for="item in items" :key="item.id"> <img :src="item.imageUrl" alt="Slide"> </div> </vue-slick-carousel> </template> ``` 4. 在组件的 script 部分,定义轮播图的选项和数据: ```javascript export default { data() { return { carouselOptions: { // 可以根据需要配置轮播图的选项,例如自动播放、滑动速度等 autoplay: true, speed: 500, // 更多选项可以参考 Vue Slick Carousel 文档 }, items: [ { id: 1, imageUrl: 'path/to/image1.jpg' }, { id: 2, imageUrl: 'path/to/image2.jpg' }, { id: 3, imageUrl: 'path/to/image3.jpg' }, // 添加更多轮播图项 ], }; }, }; ``` 这样就可以在 Vue 3 中实现一个简单的轮播图了。根据实际需求,你可以自定义轮播图的样式和配置选项。请注意,这只是一个简单的示例,实际使用时可能需要根据具体情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值