nuxt.js框架使用swiper的5.4.5版本记录,创建广告位幻灯片

news2024/11/14 15:37:19

nuxt依赖

“nuxt”: “^2.15.8”,
“swiper”: “^5.4.5”,
“vue”: “^2.7.10”,
“vue-awesome-swiper”: “^4.1.1”,

需要完成的效果是
在这里插入图片描述
参考地址:https://3.swiper.com.cn/demo/pcSlide/

nuxt代码:

<template>
  <div class="page">
    <!-- 嘉宾快讯 -->
    <cmd-transition name="slide-down">
      <div class="news">
        <el-carousel ref="carouselRef" :autoplay="false" type="card" arrow="always" indicator-position="none"
          height="570px" :active-index="activeIndex" @change="handleItemClick">
          <el-carousel-item v-for="(item, index) in newslist" :key="index">
            <el-image fit="contain"
              :src="item.pic+ '?x-oss-process=image/format,webp&imageMogr2/thumbnail/800x/interlace/0'"></el-image>
          </el-carousel-item>
        </el-carousel>
      </div>
      <div ref="swiperEl2" class="swiper-container">
        <div class="swiper-wrapper">
          <div class="swiper-slide" v-for="(item, index) in newslist" :key="index"
            :class="['swiper-slide', 'photoList-item', {'active': activeIndex === index}]"
            @click="handleItemClick(index)">
            <img style="min-height: 100px;" fit="fill"
              :src="item.pic + '?x-oss-process=image/format,webp&imageMogr2/thumbnail/800x/interlace/0'"></img>
          </div>
        </div>
        <div class="swiper-button-prev"></div>
        <div class="swiper-button-next"></div>
      </div>
    </cmd-transition>
  </div>
</template>

<script>
  import Swiper from 'swiper'
  import 'swiper/css/swiper.css';
  export default {
    data() {
      return {
        newslist: [],
        activeIndex: 0,
        mySwiper: null,
      };
    },

    mounted() {
      this.newslist = [{
          pic: 'https://e.yun-live.com/image/20221221/f5596e40-80dd-11ed-9b59-49355be82670.png',
        },
        {
          pic: 'https://e.yun-live.com/image/20221221/40f775f0-80ec-11ed-9b59-49355be82670.png',
        },
        {
          pic: 'https://e.yun-live.com/image/20221221/f5596e40-80dd-11ed-9b59-49355be82670.png',
        },
        {
          pic: 'https://e.yun-live.com/image/20221221/40f775f0-80ec-11ed-9b59-49355be82670.png',
        },
        {
          pic: 'https://e.yun-live.com/image/20221221/f5596e40-80dd-11ed-9b59-49355be82670.png',
        },
        {
          pic: 'https://e.yun-live.com/image/20221221/40f775f0-80ec-11ed-9b59-49355be82670.png',
        },
        {
          pic: 'https://e.yun-live.com/image/20221221/f5596e40-80dd-11ed-9b59-49355be82670.png',
        },
        {
          pic: 'https://e.yun-live.com/image/20221221/40f775f0-80ec-11ed-9b59-49355be82670.png',
        },
        {
          pic: 'https://e.yun-live.com/image/20221221/f5596e40-80dd-11ed-9b59-49355be82670.png',
        },
        {
          pic: 'https://e.yun-live.com/image/20221221/40f775f0-80ec-11ed-9b59-49355be82670.png',
        },
        {
          pic: 'https://e.yun-live.com/image/20221221/f5596e40-80dd-11ed-9b59-49355be82670.png',
        },
        {
          pic: 'https://e.yun-live.com/image/20221221/40f775f0-80ec-11ed-9b59-49355be82670.png',
        },
      ];
      var that = this
      that.$nextTick(() => {

        var mySwiper = new Swiper(this.$refs.swiperEl2, {
          slidesPerView: 'auto',
          allowTouchMove: false,
          spaceBetween: 20, //sliders之间的距离
          navigation: {
            nextEl: '.swiper-button-next',
            prevEl: '.swiper-button-prev',
          },
          on: {
            resize: function() {
              that.params.slidesPerView = 1;
              console.log('窗口变化时,更新Swiper的一些属性,如宽高等', that);
              that.update(); //窗口变化时,更新Swiper的一些属性,如宽高等
            },
          },
        })
        that.mySwiper = mySwiper
      });
    },

    methods: {
      handleItemClick(index) {
        if (this.activeIndex === index) {
          return;
        }
        this.activeIndex = index;
        var previewSwiper = this.mySwiper
        var activeNav = this.mySwiper.slides[index].clientWidth + 50
        if (index > previewSwiper.activeIndex) {
          var thumbsPerNav = Math.floor(previewSwiper.width / activeNav) - 1
          previewSwiper.slideTo(index - thumbsPerNav)
        } else {
          previewSwiper.slideTo(index)
        }
        // 同步大图的
        const carouselInstance = this.$refs.carouselRef;
        if (carouselInstance) {
          carouselInstance.setActiveItem(index); // 显示第三张图片
        }
      },
    },
  };
</script>

<style lang="scss" scoped>
  /* Add necessary styles for the swiper container and navigation arrows */
  .swiper-container {
    width: 100%;
    height: 100%;
  }

  .swiper-slide {
    /* styles for each slide item */
  }

  .swiper-button-prev,
  .swiper-button-next {
    /* styles for navigation arrows */
  }

  .photoList-container {
    display: flex;
    overflow-x: auto;
    height: 220px;
  }

  .photoList-item {
    border-radius: 16px;
    width: 100px;
    flex: 0 0 auto;
    margin-right: 10px;

    img {
      width: 100px;
      height: 180px;
      border-radius: 10px;
    }
  }

  .active {
    padding: 20px;
    background-color: red;
  }

  .content-empty {
    margin-top: 80px;
  }

  .load {
    line-height: 80px;
    text-align: center;
    font-size: 24px;
    color: #999;
    padding-bottom: 20px;
  }
</style>

复制即可运行
最后效果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/932022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于AI + Milvus Cloud拓展更多、更丰富的AI应用场景

项目后续:探索更多应用场景 欢迎大家基于本项目拓展更多、更丰富的应用场景,例如: 进一步延伸对比功能,例如将不同的单品归类到一起。同样,也可以上传更多图像到数据库中,丰富查询结果。 将本项目转变为时尚探测仪或者时尚推荐系统。例如,将明星图像替换成可购买的…

软件开发的201个原则 阅读笔记 第172-201个原则

目录 原则172 做项目总结 第8章 产品保证原则 原则173 产品保证并不是奢侈品 原则 174 尽早建立软件配置管理过程 原则175 使软件配置管理适应软件过程 原则176 组织SCM 独立于项目管理 原则 177 轮换人员到产品保证组织 给所有中间产品一个名称和版本 原则179 控制基准 原则…

五、多表查询-4.1子查询和分类

一、概念 SQL语句中嵌套select语句&#xff0c;成为嵌套查询&#xff0c;又称子查询。 子查询外部的语句 可以是 insert / update / delete / select 的任何一个。 二、子查询分类 1、根据子查询结果不同 标量子查询&#xff08;子查询结果为单个值&#xff09;、列子查询&a…

Xmind软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 XMind是一款非常流行的思维导图软件&#xff0c;可以帮助用户创建清晰、美观的思维导图&#xff0c;用于记录、整理思维和团队协作。以下是关于XMind软件的详细介绍。 1、XMind的历史和演变 XMind是由北京心图科技有限公司开发…

算法通过村第8关【青铜】| 二叉树的经典算法题

二叉树的双指针 1.相同的树 思路&#xff1a;递归的挨个比较是否相同 class Solution {public boolean isSameTree(TreeNode p, TreeNode q) {if((p null&&q!null) || (p ! null && q null) || (p!null&&q!null&&p.val ! q.val)){return f…

安全帽穿戴检测人脸闸机联动

安全帽穿戴检测人脸闸机联动系统实通过yolov8网络深度学习算法模型&#xff0c;安全帽穿戴检测人脸闸机联动系统现对进入工地施工区域人员是否穿戴安全帽进行精准监测和身份识别&#xff0c;只有在满足这两个条件的情况下&#xff0c;闸机才会打开&#xff0c;允许其进入工地施…

器件介绍TMP1826NGRR、TMP1826DGKR、TMP1827NGRR、TMP1075NDRLR数字温度传感器

一、TMP1826 具有 2Kb EEPROM 的 1-Wire、0.2C 精度温度传感器 器件介绍 TMP1826 是一款高精度、1-Wire 兼容的数字输出温度传感器&#xff0c;具有集成的 2Kb EEPROM 和 –55C 至150C 的宽工作温度范围。TMP1826 在 10C 至45C 的温度范围内提供 0.1C&#xff08;典型值&#…

如何搭建数字化招商加盟体系?如何推动企业招商加盟增速?

线索转化率低、客户数据不完整及合作过程中服务满意度低等情景是企业在进行招商加盟的过程中常常会遇到的问题。如何使用数字化招商加盟工具&#xff0c;在业务运营的过程中来提高企业成单率、提高企业线索价值&#xff0c;提高客户满意度&#xff1f; 开利网络数字化招商加盟系…

大语言模型之六- LLM之企业私有化部署

数据安全是每个公司不得不慎重对待的&#xff0c;为了提高生产力&#xff0c;降本增效又不得不接受新技术带来的工具&#xff0c;私有化部署对于公司还是非常有吸引力的。大语言模型这一工具结合公司的数据可以大大提高公司生产率。 私有化LLM需要处理的问题 企业内私有化LLM…

图论(基础)

知识&#xff1a; 顶点&#xff0c;边 | 权&#xff0c;度数 1.图的种类&#xff1a; 有向图 | 无向图 有环 | 无环 联通性 基础1&#xff1a;图的存储&#xff08;主要是邻接矩阵和邻接表&#xff09; 例一&#xff1a;B3643 图的存储 - 洛谷 | 计算机科学教育新生态 (…

STM32--SPI通信与W25Q64(1)

文章目录 前言SPI通信硬件电路移位过程 SPI时序起始与终止条件交换一个字节 W25Q64硬件电路框图 FLASH操作注意事项软件SPI读写W25Q64 前言 USART串口链接入口 I2C通信链接入口 SPI通信 SPI&#xff08;Serial Peripheral Interface&#xff09;是一种高速的、全双工、同步的串…

免费图床配置:PicGo + Github + jsDelivr

免费图床配置&#xff1a;PicGo Github jsDelivr 前言PicGo Github配置过程jsdelivr加速踩坑注意事项参考资料 觉得文章有收获&#xff0c;欢迎关注公众号鼓励一下作者呀~ 在学习的过程中&#xff0c;也搜集了一些量化、技术的视频及书籍资源&#xff0c;欢迎大家关注公众号…

记一次ActiveMQ漏洞利用

ActiveMQ介绍&#xff1a; Apache ActiveMQ 是 Apache 软件基金会所研发的一套开源的消息中间件&#xff0c;它支持 Java 消息服务、集群、Spring Framework 等。随着中间件的启动&#xff0c;会打开两个端口&#xff0c;61616 是工作端口&#xff0c;消息在这个端口进行传递&…

Sketchup软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 SketchUp是一款由Trimble公司开发的3D建模软件&#xff0c;广泛应用于建筑、室内设计、城市规划等领域。它以直观的用户界面和强大的功能而闻名&#xff0c;让用户能够轻松地创建和修改三维模型。 1、SketchUp的主要特点 用户…

BIO到NIO、多路复用器, 从理论到实践, 结合实际案例对比各自效率与特点(下)

文章目录 多路复用器简介多路复用器的两个阶段Java中的多路复用器封装测试代码压测结果总结 本篇文章是BIO到NIO、多路复用器, 从理论到实践, 结合实际案例对比各自效率与特点(上)的下一篇, 如果没有看的小伙伴, 可以先看下, 不然可能会不连贯. 多路复用器简介 多路复用器是对…

STM32 CAN 波特率计算分析

这里写目录标题 前言时钟分析时钟元到BIT 前言 CubeMX中配置CAN波特率的这个界面刚用的时候觉得非常难用&#xff0c;怎么都配置不到想要的波特率。接下来为大家做一下简单的分析。 时钟分析 STM32F4的CAN时钟来自APB1 在如下界面配置&#xff0c;最好配置为1个整一点的数。…

c语言练习题32:模拟实现库函数strlen并求字符串长度

模拟实现库函数strlen&#xff0c;读取字符个数。 思路&#xff1a;利用指针遍历字符串&#xff0c;从而获得字符串中的字符个数。 代码&#xff1a; //模拟实现库函数strlen #include<stdio.h> int Strlen(const char* str) {int count 0;//利⽤指针遍历字符串while…

详解CAS

CAS 全称compare and swap,字面意思"比较和交换" 能够比较和交换某个寄存器中的值和内存中的值,看是否相等,如果相等,则把另外一个寄存器中的值和内存中的值进行交换 伪代码 这个就给我们编写线程安全代码,打开了新世界的大门,基于CAS又能衍生出一套"无锁编程…

权限提升-数据库权限到web权限+后台权限到web权限

权限提升基础信息 1、具体有哪些权限需要我们了解掌握的&#xff1f; 后台权限&#xff0c;网站权限&#xff0c;数据库权限&#xff0c;接口权限&#xff0c;系统权限&#xff0c;域控权限等 2、以上常见权限获取方法简要归类说明&#xff1f; 后台权限&#xff1a;SQL注入,数…

本地镜像管理

查看 用户可以通过docker images命令查看本地所有镜像&#xff0c;如下&#xff1a; 这里一共有五个参数&#xff0c;含义分别如下&#xff1a; REPOSITORY 仓库名称&#xff0c;仓库一般用来存放同一类型的镜像。仓库的名称由其创建者指定。如果没有指定则为<none>。…