Swiper轮播图

版本:“swiper”: “^6.8.4”,
处理每分钟重新请求数据后,播放卡顿,快速闪,没按照设置时间播放等bug
以下是直接vue2 完整的组件代码
使用: <SwiperV :imgList=“swiperList” /

在这里插入图片描述

<template>
    <div class="bannerBox">
        <div class="swiper-container gallery-top">
            <div class="swiper-wrapper">
                <div class="swiper-slide" v-for="(item, index) in imgList" :key="index">
                    <img class="img" :src="item" />
                </div>
            </div>
          
            <div class="swiper-button-prev swiper-button-white">
                <i class="el-icon-arrow-left"></i>
            </div>
            <div class="swiper-button-next swiper-button-white">
                <i class="el-icon-arrow-right"></i>
            </div>
        </div>
        <!-- <div style="height: 15px; width: 400px"></div>
      <div class="swiper-container gallery-thumbs">
        <div class="swiper-wrapper">
          <div class="swiper-slide swiper-bottom" v-for="(item, index) of bigImg" :key="index">
            <img class="img2" :src="item.imgPath" />
            <div class="title_text">{{ item.name }}</div>
          </div>
        </div>
      </div> -->
    </div>
</template>

<script>
import Swiper from "swiper"
// import { Pagination } from 'swiper';

export default {
    // components: { Pagination },
    props: {
        imgList: {
            type: Array,
            default: () => []
        }
    },
    data () {
        return {
            bigImg: [],
            galleryTop:null
        }
    },
    watch: {
        "imgList": {
            handler (newValue, oldValue) {
                this.$nextTick(() => {
                    this.galleryTop.destroy(); 
                    this.galleryTopLunbo()
                })
            },
            deep: true
        }
    },
    created () {

    },
    mounted () { 
        this.$nextTick(() => {
                    this.galleryTopLunbo()
                })
    },

    methods: {
        galleryTopLunbo () {
            this.galleryTop = new Swiper(".gallery-top", {
                spaceBetween: 0,
                loop: true,
                loopedSlides: 1,
                autoplay: {
                    delay: 3000,
                    stopOnLastSlide: false,
                    disableOnInteraction: false,
                },
                // 左右按钮
                navigation: {
                    nextEl: ".swiper-button-next",
                    prevEl: ".swiper-button-prev",
                },
                thumbs: {
                    //thumbs组件专门用于制作带缩略图的swiper
                    swiper: this.galleryThumbs,
                    slideThumbActiveClass: "swiper-slide-thumb-active",
                },
            })
        },
        galleryThumbsLunbo () {
            this.galleryThumbs = new Swiper(".gallery-thumbs", {
                spaceBetween: 15, //在slide之间设置距离(单位px)
                slidesPerView: 4, //设置slider容器能够同时显示的slides数量
                // loop: true,        //设置为true 则开启loop模式
                // freeMode: true,    //默认为false,普通模式:slide滑动时只滑动一格
                // loopedSlides: 7,    //一般设置大于可视slide个数2个即可
                watchSlidesVisibility: true, //开启watchSlidesVisibility选项前需要先开启watchSlidesProgress
                watchSlidesProgress: true, //开启这个参数来计算每个slide的progress(进度、进程)
            })
        },

        event () {
            const self = this
            return {}
        },
        network () {
            const self = this
            return {}
        },
    },
}
</script>

<style scoped lang="scss">
.title_text {
    width: 100%;
    text-align: center;
    color: #000;
    padding: 10px 0;
    font-size: 16px;
    font-weight: 600;
}

.bannerBox {
    width: 100%;
    height: 100%;

    .img {
        width: 100%;
        height: 100%;
    }

    .img2 {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 98%;
        height: 80%;
    }

    .gallery-top {
        width: 100%;
        height: 100%;
        border: 1px solid #ccd2e7;
    }

    .gallery-thumbs {
        width: 100%;
        height: 200px;
        background-color: #fff;

        img {
            border: 1px solid #ccd2e7;
        }
    }

    .swiper-bottom {
        opacity: 0.5;
    }

    .swiper-slide-thumb-active {
        opacity: 5;
    }
}

/deep/ .el-icon-arrow-right {
    display: none;
}

/deep/ .el-icon-arrow-left {
    display: none;
}
</style>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

键盘更新计划

作为 IT 搬砖人&#xff0c;一直都认为键盘没有什么太大关系。 每次都是公司发什么用什么。 但随着用几年后&#xff0c;发现现在的键盘经常出问题&#xff0c;比如说调节音量的时候通常莫名其妙的卡死&#xff0c;要不就是最大音量要不就是最小音量。 按键 M 不知道什么原因…

hadoop学习---基于hive的聊天数据分析报表可视化案例

背景介绍&#xff1a; 聊天平台每天都会有大量的用户在线&#xff0c;会出现大量的聊天数据&#xff0c;通过对聊天数据的统计分析&#xff0c;可以更好的对用户构建精准的用户画像&#xff0c;为用户提供更好的服务以及实现高ROI的平台运营推广&#xff0c;给公司的发展决策提…

50. 【Android教程】xml 数据解析

xml 是一种标记扩展语言&#xff08;Extension Mark-up Language&#xff09;&#xff0c;学到这里大家对 xml 语言一定不陌生&#xff0c;但是它在 Android 中的运用其实只是冰山一角。抛开 Android&#xff0c;XML 也被广泛运用于各种数据结构中。在运用 xml 编写 Android 布…

自动化机器学习——网格搜索法:寻找最佳超参数组合

自动化机器学习——网格搜索法&#xff1a;寻找最佳超参数组合 在机器学习中&#xff0c;选择合适的超参数是模型调优的关键步骤之一。然而&#xff0c;由于超参数的组合空间通常非常庞大&#xff0c;手动调整超参数往往是一项耗时且困难的任务。为了解决这个问题&#xff0c;…

Meditron:基于 Llama 完全开源的医学大语言模型

健康危机就在眼前&#xff0c;当医疗资源有限时&#xff0c;每一秒钟都至关重要&#xff01;Meditron 就像一位忠实的医疗助手&#xff0c;提供基于证据的护理建议和情境意识的推荐&#xff0c;帮助医疗工作者在诊断和治疗过程中做出更准确的决策。 在资源有限的医疗环境中&am…

CTFHub-Web-文件上传

CTFHub-Web-文件上传-WP 一、无验证 1.编写一段PHP木马脚本 2.将编写好的木马进行上传 3.显示上传成功了 4.使用文件上传工具进行尝试 5.连接成功进入文件管理 6.上翻目录找到flag文件 7.打开文件查看flag 二、前端验证 1.制作payload进行上传发现不允许这种类型的文件上传 …

React | React.cloneElement 的使用

我看到同事的代码里有 cloneElement&#xff0c;于是去了解了一下这个函数。 就跟它的名字一样&#xff0c;克隆元素&#xff0c;可以基于一个元素创建一个新的元素&#xff0c;并且为新元素添加新的属性或者覆盖已有的属性。 下面是一个简单例子&#xff1a; .node1 {backg…

使用qemu调试NVME driver

参考nvme驱动相关的博客&#xff0c;可以使用qemu buildroot进行nvme驱动的流程debug。 一、QEMU编译 首先需要编译qemu&#xff0c;可以参考QEMU编译。wget下载最新版本的QEMU&#xff0c;编译之前&#xff0c;最好检查下依赖包是否安装&#xff0c;避免安装过程出现各种错…

算法二:DOM - 将DOM节点元素转换成JSON字符串

题目&#xff1a; 将DOM节点元素转换成JSON的格式 例如 <div class"root"><div class"child1"><p></p></div><span></span><div><div><p></p></div></div><p></…

Springboot+Vue+小程序+基于微信小程序护农远程看护系统

开发平台为idea&#xff0c;maven管理工具&#xff0c;Mybatis操作数据库&#xff0c;根据市场数字化需要为农户打造小程序可远程查看农场的种植情况。项目是调试&#xff0c;讲解服务均可有偿获取&#xff0c;需要可在最下方QQ二维码处联系我。 SpringbootVue小程序&#xff…

Pyspark+关联规则 Kaggle购物篮分析案例

数据集地址&#xff1a;Market Basket Analysis | Kaggle 我的NoteBook地址&#xff1a;pyspark Market Basket Analysis | Kaggle 零售商期望能够利用过去的零售数据在自己的行业中进行探索&#xff0c;并为客户提供有关商品集的建议&#xff0c;这样就能提高客户参与度、改…

用LM Studio搭建微软的PHI3小型语言模型

什么是 Microsoft Phi-3 小语言模型&#xff1f; 微软Phi-3 模型是目前功能最强大、最具成本效益的小型语言模型 &#xff08;SLM&#xff09;&#xff0c;在各种语言、推理、编码和数学基准测试中优于相同大小和更高大小的模型。此版本扩展了客户高质量模型的选择范围&#x…

常用SQL命令

应用经常需要处理用户的数据&#xff0c;并将用户的数据保存到指定位置&#xff0c;数据库是常用的数据存储工具&#xff0c;数据库是结构化信息或数据的有序集合&#xff0c;几乎所有的关系数据库都使用 SQL 编程语言来查询、操作和定义数据&#xff0c;进行数据访问控制&…

特斯拉自动驾驶你有了解么?

有以下几点你将在本文中的了解到&#xff1a;人工智能&#xff0c;FSD 一、人工智能是什么 首先脱颖而出的chatgpt&#xff0c;而GPT的底层原理是什么&#xff1f;接下来我用生活中的经验帮你理解 GPT 你问 GPT&#xff1a;蜜蜂是如何酿造蜂蜜的&#xff1f; GPT 会从问题中…

数字旅游以科技创新为核心:推动旅游服务的智能化、精准化、个性化,为游客提供更加贴心、专业、高效的旅游服务

目录 一、引言 二、数字旅游以科技创新推动旅游服务智能化 1、智能化技术的应用 2、提升旅游服务的效率和质量 三、数字旅游以科技创新推动旅游服务精准化 1、精准化需求的识别与满足 2、精准化营销与推广 四、数字旅游以科技创新推动旅游服务个性化 1、个性化服务的创…

11【PS Blender 作图】场景作图 景深

【问题背景】 看下图,是一个插画师的作图,是不是好像现实场景;合理利用景深,让画面好像是3D现实场景 那么如何才能完成这样让人身临其境的画面呢? 大体有两个方法: 【1】2D插画,合理利用景深;如用PS画图,在画图的时候注意 画面构图,让2D的画面,看起来像3D 缺点…

无公网环境的本地yum源配置

对没有公网环境的场景下&#xff0c;部署一个本地可用的yum源的方法 注&#xff1a;两种方法本质上一样&#xff0c;centos7和centos8的repo文件格式是不一样的&#xff0c;所以在两种方法中用了不用的ISO&#xff0c;需要根据实际需求&#xff0c;结合两种方法进行部署 1.配置…

特斯拉全自动驾驶系统Tesla‘s Full-Self Driving (FSD)

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Overview Tesla’s FSD is a suite of features that includes Autopilot, Navigate on Autopilot, Auto Lane Change, Autopark, Summon, and Traffic Light and Stop Sig…

基于语音识别的智能电子病历(一)

引子 A&#xff1a;“上周开年会了&#xff01;” 俺&#xff1a;“有啥新的动向&#xff1f;” A&#xff1a;“今年计划开发基于语音识别的智能电子病历。老板说这个算是国内首创&#xff01;” 俺&#xff1a;“嗯&#xff0c;俺做这个20多年了。” A&#xff1a;“语言…

38-3 Web应用防火墙 - 安装配置WAF

首先需要安装Centos 7 虚拟机:Centos7超详细安装教程_centos7安装教程-CSDN博客 安装配置WAF 在桌面环境中,右键点击打开终端,首先执行以下步骤: 1)安装必要的工具: 输入命令: sudo su yum install -y wget epel-release 2)第二步,安装依赖工具,输入以下命令: y…