前端两种实现轮播图方式

今天研究两种简单实现轮播图功能的方式。

 

目录

Layui实现轮播图

码云下载

提取静态文件

示例

注意

参数说明

改为轮播图

增加图片资源文件

轮播栏目修改

改为上下切换

切换事件

脚本中绑定改变事件

控制器查看

Swiper实现轮播图

下载swiper

下载到本地

加载swiper

放置静态文件

引入静态文件

添加html内容

设置swiper高宽

初始化Swiper

改为轮播图

Html内容修改

设置分页器点击切换

自动切换

总结


Layui实现轮播图

码云下载

layui

提取静态文件

解压文件后提取dist中的静态资源文件到项目静态资源目录中。

 

示例

修改官网示例中静态资源路径为本地资源路径。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>layui实现轮播图</title>
    <link rel="stylesheet" href="./css/layui.css" media="all">
</head>
<body>
    <h1>layui.carousel</h1>
    <div class="layui-carousel" id="test1">
        <div carousel-item>
            <div>条目1</div>
            <div>条目2</div>
            <div>条目3</div>
            <div>条目4</div>
            <div>条目5</div>
        </div>
    </div>
    <!-- 条目中可以是任意内容,如:<img src=""> -->
    <script src="./js/layui.js"></script>
    <script>
        layui.use('carousel', function(){
            var carousel = layui.carousel;
            //建造实例
            carousel.render({
                elem: '#test1'
                ,width: '100%' //设置容器宽度
                ,arrow: 'always' //始终显示箭头
                //,anim: 'updown' //切换动画方式
            });
        });
    </script>
</body>
</html>

 

注意

1) 外层元素的 class="layui-carousel" 用来标识为一个轮播容器。

2) 内层元素的属性 carousel-item 用来标识条目。

参数说明

可选项

说明

类型

默认值

elem

指向容器选择器,如:elem: '#id'。也可以是DOM对象

string/object

width

设定轮播容器宽度,支持像素和百分比

string

'600px'

height

设定轮播容器高度,支持像素和百分比

string

'280px'

full

是否全屏轮播

boolean

false

anim

轮播切换动画方式,可选值为:

default(左右切换)

updown(上下切换)

fade(渐隐渐显切换)

string

'default'

autoplay

是否自动切换

boolean

true

interval

自动切换的时间间隔,单位:ms(毫秒),不能低于800

number

3000

index

初始开始的条目索引

number

0

arrow

切换箭头默认显示状态,可选值为:

hover(悬停显示)

always(始终显示)

none(始终不显示)

string

'hover'

indicator

指示器位置,可选值为:

inside(容器内部)

outside(容器外部)

none(不显示)


注意:如果设定了 anim:'updown',该参数将无效

string

'inside'

trigger

指示器的触发事件(用于切换)

string

'click'(默认点击)

效果

 

改为轮播图

增加图片资源文件

设置轮播显示的图片资源

 

轮播栏目修改

把原来的栏目div改为img标签加载图片,这样可以图片可以显示全部,如果只是在div内部设置img则显示部分图像。

<div class="layui-carousel" id="test1">
    <div carousel-item>
        <img src="./images/1.jpg" alt="">
        <img src="./images/2.jpg" alt="">
        <img src="./images/3.jpg" alt="">
        <img src="./images/4.jpg" alt="">
        <img src="./images/5.jpg" alt="">
    </div>
</div>
<div class="layui-carousel" id="test1">
    <div carousel-item>
        <div><img src="./images/1.jpg" alt=""></div>
        <div><img src="./images/2.jpg" alt=""></div>
        <div><img src="./images/3.jpg" alt=""></div>
        <div><img src="./images/4.jpg" alt=""></div>
        <div><img src="./images/5.jpg" alt=""></div>
    </div>
</div>

 效果1

效果2

 

改为上下切换

脚本中anim参数改为’updown’

var carousel = layui.carousel;
// 建造实例
carousel.render({
    elem: '#test1'
    ,width: '60%' //设置容器宽度
    ,arrow: 'always' //始终显示箭头
    ,anim: 'updown' //切换动画方式
});

效果

 

切换事件

在layui-carousel容器上增加 lay-filter=test1

即:

<div class="layui-carousel" id="test1" lay-filter="test1">

 

脚本中绑定改变事件

// 触发轮播切换事件
carousel.on('change(test1)', function(obj){
    console.log(obj.index); //当前条目的索引
    console.log(obj.prevIndex); //上一个条目的索引
    console.log(obj.item); //当前条目的元素对象
});

控制器查看

这里可以设置切换相应栏目触发相应事件的业务。

Swiper实现轮播图

下载swiper

下载Swiper - Swiper中文网

 

下载到本地

下载最新的到本地环境

 

 

加载swiper

放置静态文件

需要用到的文件有swiper-bundle.min.js和swiper-bundle.min.css文件。

解压后寻找swiper-bundle.min.js和swiper-bundle.min.css文件,放置到项目资源目录下。

 

 

引入静态文件

在html页面分别引入swiper js和css文件。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Swiper实现轮播图</title>
    <link rel="stylesheet" href="./css/swiper-bundle.min.css">
</head>
<body>
<script src="./js/swiper-bundle.min.js"></script>
</body>
</html>

 

添加html内容

Swiper7的默认容器是'.swiper'。

<div class="swiper">
    <div class="swiper-wrapper">
        <div class="swiper-slide">Slide 1</div>
        <div class="swiper-slide">Slide 2</div>
        <div class="swiper-slide">Slide 3</div>
    </div>
    <!-- 分页器 -->
    <div class="swiper-pagination"></div>

    <!-- 导航按钮 -->
    <div class="swiper-button-prev"></div>
    <div class="swiper-button-next"></div>
</div>
<!--导航等组件可以放在Swiper容器之外-->

 

设置swiper高宽

在初始化swiper之前需要设置swiper容器高度和宽度,否则无法使用。

<style>
    .swiper {
        width: 60%;
        height: 300px;
    }
</style>

初始化Swiper

<script>
    var mySwiper = new Swiper ('.swiper', {
        //direction: 'vertical', // 垂直切换选项
        loop: true, // 循环模式选项

        // 分页器
        pagination: {
            el: '.swiper-pagination',
        },

        // 前进后退按钮
        navigation: {
            nextEl: '.swiper-button-next',
            prevEl: '.swiper-button-prev',
        },
    })
</script>

这样就可以使用swiper进行正常切换了,接下来如果就可以通过演示来修改参数达到想要的效果了。

改为轮播图

Html内容修改

<div class="swiper-wrapper">
    <div class="swiper-slide"><img src="../images/1.jpg" alt=""></div>
    <div class="swiper-slide"><img src="../images/2.jpg" alt=""></div>
    <div class="swiper-slide"><img src="../images/3.jpg" alt=""></div>
    <div class="swiper-slide"><img src="../images/4.jpg" alt=""></div>
    <div class="swiper-slide"><img src="../images/5.jpg" alt=""></div>
</div>

效果

 

设置分页器点击切换

脚本中分页器设置中增加参数

// 分页器
pagination: {
    el: '.swiper-pagination',
    clickable: true,
},

自动切换

脚本中设置autoplay属性,时间间隔为3000毫秒

autoplay: {
    delay: 3000,
    disableOnInteraction: false,
},

总结

Layui和Swiper都能比较简单的实现轮播图功能,区别在于:swiper能实现的轮播图功能更多,样式更加华丽,示例也更多。

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

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

相关文章

EMC学习笔记(十七)PCB设计中的安规考虑

PCB设计中的安规考虑 1 概述2.安全标识2.1 对安全标示通用准则2.2 电击和能量的危险2.3 PCB上的熔断器2.4 可更换电池 3.爬电距离和电气间隙4.涂覆印制板4.1 PCB板的机械强度4.2 印制电路板的阻燃等级4.3 热循环试验与热老化试验4.4 抗电强度试验4.5 耐划痕试验 5.布线和供电 1…

网络安全(黑客)万字自学笔记

目录 特别声明&#xff1a; 一、前言 二、定义 三、分类 1.白帽黑客&#xff08;White Hat Hacker&#xff09; 2.黑帽黑客&#xff08;Black Hat Hacker&#xff09; 3.灰帽黑客&#xff08;Gray Hat Hacker&#xff09; 四、黑客文化 五、伦理问题 六、黑客的作用 …

shell脚本备份数据库

首先是在本地windows环境下尝试备份数据库 打开mysql的bin目录&#xff0c;然后在地址栏cmd&#xff0c;进入cmd界面&#xff0c;输入mysqldump命令&#xff0c;-u输入用户名&#xff0c;-p输入密码 还有数据库名称&#xff0c;以及后面要保存到的位置 mysqldump -uroot -p tes…

编写测试用例的方法,这个是真的很好用

大家测试过程中经常用的等价类划分、边界值分析、场景法等&#xff0c;并不能覆盖所有的需求&#xff0c;我们之前讲过很少用到的因果图法&#xff0c;下面就来讲另一种不经常用到但又非常重要的测试用例编写方法——测试大纲法。 测试大纲法适用于有多个窗口&#xff0c;每个…

Vue-Router相关理解4

两个新的生命周期钩子 activated和deactivated是路由组件所独有的两个钩子&#xff0c;用于捕获路由组件的激活状态具体使用 activated路由组件被激活时触发 deactivated路由组件失活时触发 src/pages/News.vue <template><ul><li :style"{opacity}&qu…

linux之Ubuntu系列(五)用户管理、查看用户信息 终端命令

创建用户 、删除用户、修改其他用户密码的终端命令都需要通过 sudo 执行 创建用户 设置密码 删除用户 sudo useradd -m -g 组名 新建用户名 添加新用户 -m&#xff1a;自动建立用户 家目录 -g&#xff1a;指定用户所在的组。否则会建立一个和用户同名的组 设置新增用户的密码&…

尝试-InsCode Stable Diffusion 美图活动一期

一、 Stable Diffusion 模型在线使用地址&#xff1a; https://inscode.csdn.net/inscode/Stable-Diffusion 二、模型相关版本和参数配置&#xff1a; 活动地址 三、图片生成提示词与反向提示词&#xff1a; 提示词&#xff1a;realistic portrait painting of a japanese…

vscode remote-ssh配置

使用vscode的插件remote-ssh进行linux的远程控制。 在vscode上安装完remote-ssh插件后&#xff0c;还需要安装openssh-client。 openssh-client安装 先win R打开cmd&#xff0c;输入ssh&#xff0c;查看是否已经安装了。 如果没有安装&#xff0c;用管理员权限打开powershe…

商城-学习整理-基础-环境搭建(二)

目录 一、环境搭建1、安装linux虚拟机1&#xff09;下载&安装 VirtualBox https://www.virtualbox.org/&#xff0c;要开启 CPU 虚拟化2&#xff09;虚拟机的网络设置3&#xff09;虚拟机允许使用账号密码登录4&#xff09;VirtualBox冲突5&#xff09;修改 linux 的 yum 源…

DirectX12(D3D12)基础教程(二十二) ——HDR IBL 等距柱面环境光源加载和解算及 GS 一次性渲染到 CubeMap

前序文章目录 DirectX12&#xff08;D3D12&#xff09;基础教程&#xff08;一&#xff09;——基础教程 DirectX12&#xff08;D3D12&#xff09;基础教程&#xff08;二&#xff09;——理解根签名、初识显存管理和加载纹理、理解资源屏障 DirectX12&#xff08;D3D12&…

传统软件测试过程中的测试分工

最近看了点敏捷测试的东西&#xff0c;看得比较模糊。一方面是因为没有见真实的环境与流程&#xff0c;也许它跟本就没有固定的模式与流程&#xff0c;它就像告诉人们要“勇敢”“努力”。有的人在勇敢的面对生活&#xff0c;有些人在勇敢的挑战自我&#xff0c;有些人在勇敢的…

Java打怪升级路线的相关知识

第一关:JavaSE阶段 1、计算机基础 2、java入门学习 3、java基础语法 4、流程控制和方法 5、数组 6、面向对象编程 7、异常 8、常用类 9、集合框架 10、IO 11、多线程 12、GUI编程 13、网络编程 14、注解与反射 15、JUC编程 16、JVM探究 17、23种设计模式 18、数据结构与算法 1…

修复git diff正文中文乱码

Linux git diff正文中文乱码 在命令行下输入以下命令&#xff1a; $ git config --global core.quotepath false # 显示 status 编码 $ git config --global gui.encoding utf-8 # 图形界面编码 $ git config --global i18n.commit.encoding utf-8 # …

Kafka - AR 、ISR、OSR,以及HW和LEO之间的关系

文章目录 引子举例说明 引子 AR&#xff08;Assigned Replication&#xff09;&#xff1a; 分区中的所有副本统称为AR&#xff08;Assigned Replicas&#xff09; ISR&#xff08;In-Sync Replicas&#xff09;&#xff1a;同步副本集合 ISR是指当前与主副本保持同步的副本集合…

cancal报错 config dir not found

替换classpath中间封号两边的值

如何在Microsoft Excel中使用SORT函数

虽然 Microsoft Excel 提供了一个内置的数据排序工具,但你可能更喜欢函数和公式的灵活性。 使用 SORT 函数的好处是,你可以在不同的位置对数据进行排序。如果你想在不干扰原始数据集的情况下操作项目,你会喜欢 Excel 中的 SORT 函数。但是,如果你喜欢对项目进行原位排序,…

【C++】list的模拟实现

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;命运给你一个低的起点&#xff0c;是想看你精彩的翻盘&#xff0c;而不是让你自甘堕落&#xff0c;脚下的路虽然难走&#xff0c;但我还能走&#xff0c;比起向阳而生&#xff0c;我更想尝试逆风…

数据结构(王道)——数据结构之 二叉树的存储结构

一、顺序存储 静态顺序存储 顺序存储的二叉树结构特性&#xff1a; 顺序存储的非完全二叉树特性 不完全二叉树的可能会浪费大量空间&#xff0c;所以一般顺序存储二叉树比较少用。 图示为什么很少用顺序存储来存二叉树 顺序存储的二叉树总结&#xff1a; 二、链式存储 二叉链表…

集群基础4——haproxy负载均衡mariadb

文章目录 一、环境说明二、安装配置mariadb三、安装配置haproxy四、验证 一、环境说明 使用haproxy对mysql多机单节点进行负载均衡。 主机IP角色安装服务192.168.161.131后端服务器1mariadb&#xff0c;3306端口192.168.161.132后端服务器2mariadb&#xff0c;3306端口192.168.…

springboot @Async 异步调用接口处理数据

Async 异步背景 新增的数据需要分发给下游业务系统&#xff0c;由于下游业务系统状态未知&#xff0c;所以需要异步发送数据给下游业务系统。 系统生效按钮--->controller新增-->异步调用servcie--->数据集成 在springboot框架中实现步骤 首先在启动类上加上Enable…