mirror of
https://gitee.com/layui/layui.git
synced 2025-06-28 13:34:27 +08:00

* feat: 重构 laytpl,增强对更多复杂模板结构的解析能力 * Squashed commit of the following: commit6884f80378
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:45:58 2025 +0800 release: v2.10.1 commit8d643ad6dc
Merge:5521e48c
213fe5a2
Author: corededitor <107152508+corededitor@users.noreply.github.com> Date: Wed Mar 19 14:24:50 2025 +0800 feat: Merge pull request #2566 from layui/feat/component feat: 优化 component, tabs 若干功能 commit213fe5a209
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:15:39 2025 +0800 docs: 添加 component 文档中实验性选项标记 commit5521e48c05
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:10:46 2025 +0800 fix: 修复 `body` 初始 `line-height` 无效的问题 (#2569) commit8c7cf0f606
Author: 青崖 <33601030+bxjt123@users.noreply.github.com> Date: Wed Mar 19 14:10:08 2025 +0800 优化 checkbox 标签风格选中且禁用时的显示 (#2563) commit23b21254d4
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:04:44 2025 +0800 docs: Squashed commit of the following: commit95a0503f41
Merge:e6eb86ba
87ba4c43
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:03:13 2025 +0800 Merge branch 'main' into 2.x commite6eb86bacb
Author: morning-star <26325820+Sight-wcg@users.noreply.github.com> Date: Wed Mar 19 14:02:05 2025 +0800 docs(slider): 修正错别字 (#2578) commit46f7a9783e
Merge:df1fc4f4
c204590a
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Fri Mar 14 19:07:50 2025 +0800 Merge branch 'main' into 2.x commitdf1fc4f419
Author: itletu <itletu@163.com> Date: Mon Mar 10 13:54:06 2025 +0800 docs: 更正 class 公共类文档错误 (#2544) | layui-border-box | 设置元素及其所有子元素均为 `box-sizing: border-box` 模型的容器 | commit87ba4c4394
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 13:41:33 2025 +0800 docs(version): 优化 2.9.x 锚点 commita0f533f0fd
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 13:37:29 2025 +0800 docs: 修复 tabs 文档示例异常问题 commit0f0584e2ed
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 13:35:00 2025 +0800 docs: 修复 tabs 文档中自定义事件示例重新点击 Preview 失效的问题 commit172957d243
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 13:29:09 2025 +0800 docs: 优化文档中的用词细节 (#2571) commit094be4ddcc
Author: letianpailove <113023596+letianpailove@users.noreply.github.com> Date: Wed Mar 19 13:28:46 2025 +0800 fix: 更正 class 公共类文档错误 (#2562) commit53ded26cb9
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Sun Mar 16 00:15:25 2025 +0800 fix: 优化 tabs 重载时未按照传入的 closable 正确渲染可关闭状态 commitbd892bf87e
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Sun Mar 16 00:15:17 2025 +0800 feat(component): 新增 cache 原型方法,用于元素缓存操作 commit6ccc5a453d
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Sun Mar 16 00:14:18 2025 +0800 fix(component): 优化元素 lay-options 属性上的配置在重载时的优先级 commit79b0a56f50
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Sun Mar 16 00:13:55 2025 +0800 fix(component): 修复 reload 时传入的选项未正确合并的问题 * refactor(laytpl): 优化代码细节 * docs: 重写 laytpl 模块文档
7.1 KiB
7.1 KiB
常规用法
<div class="layui-carousel" id="ID-carousel-demo-1"> <div carousel-item> <div>条目1</div> <div>条目2</div> <div>条目3</div> <div>条目4</div> <div>条目5</div> </div> </div> <hr class="ws-space-16"> <div class="layui-carousel" id="ID-carousel-demo-2"> <div carousel-item> <div>条目1</div> <div>条目2</div> </div> </div> <!-- import layui --> <script> layui.use(function(){ var carousel = layui.carousel; // 渲染 - 常规轮播 carousel.render({ elem: '#ID-carousel-demo-1', width: 'auto' }); // 渲染 - 设置时间间隔、动画类型、宽高度等属性 carousel.render({ elem: '#ID-carousel-demo-2', interval: 1800, anim: 'fade', width: 'auto', height: '120px' }); }); </script>
- 在元素外层设置
class="layui-carousel"
来定义一个轮播容器 - 在元素内层设置属性
carousel-item
用来定义条目容器
可选项预览
<div class="layui-form"> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">宽高</label> <div class="layui-input-inline" style="width: 98px;"> <input type="tel" name="width" value="600" autocomplete="off" placeholder="width" class="layui-input carousel-demo-set"> </div> <div class="layui-input-inline" style="width: 98px;"> <input type="tel" name="height" value="280" autocomplete="off" placeholder="height" class="layui-input carousel-demo-set"> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">动画类型</label> <div class="layui-input-block"> <div class="layui-btn-group" style="margin-top: 5px;"> <button class="layui-btn layui-btn-sm" style="background-color: #16b777;" lay-on="carousel-set" data-key="anim" data-value="default">左右切换</button> <button class="layui-btn layui-btn-sm" lay-on="carousel-set" data-key="anim" data-value="updown">上下切换</button> <button class="layui-btn layui-btn-sm" lay-on="carousel-set" data-key="anim" data-value="fade">渐隐渐显</button> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">箭头状态</label> <div class="layui-input-block"> <div class="layui-btn-group" style="margin-top: 5px;"> <button class="layui-btn layui-btn-sm" style="background-color: #16b777;" lay-on="carousel-set" data-key="arrow" data-value="hover">悬停显示</button> <button class="layui-btn layui-btn-sm" lay-on="carousel-set" data-key="arrow" data-value="always">始终显示</button> <button class="layui-btn layui-btn-sm" lay-on="carousel-set" data-key="arrow" data-value="none">不显示</button> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">指示器位置</label> <div class="layui-input-block"> <div class="layui-btn-group" style="margin-top: 5px;"> <button class="layui-btn layui-btn-sm" style="background-color: #16b777;" data-key="indicator" lay-on="carousel-set" data-value="inside">容器内部</button> <button class="layui-btn layui-btn-sm" lay-on="carousel-set" data-key="indicator" data-value="outside">容器外部</button> <button class="layui-btn layui-btn-sm" lay-on="carousel-set" data-key="indicator" data-value="none">不显示</button> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">自动切换</label> <div class="layui-input-block"> <!--<input type="checkbox" name="switch" lay-skin="switch" checked lay-text="ON|OFF" lay-filter="autoplay">--> <select lay-filter="autoplay"> <option value="1">开启</option> <option value="0">关闭</option> <option value="always">always</option> </select> </div> </div> <div class="layui-inline"> <label class="layui-form-label" style="width: auto;">时间间隔</label> <div class="layui-input-inline" style="width: 120px;"> <input type="tel" name="interval" value="3000" autocomplete="off" placeholder="毫秒" class="layui-input carousel-demo-set"> </div> </div> </div> </div> <div class="layui-carousel" id="ID-carousel-demo-set" lay-filter="filter-demo-carousel-set"> <div carousel-item> <div>条目1</div> <div>条目2</div> <div>条目3</div> <div>条目4</div> <div>条目5</div> </div> </div> <!-- import layui --> <script> layui.use(function(){ var carousel = layui.carousel; var form = layui.form; var util = layui.util; var $ = layui.$; // 渲染 var carInst = carousel.render({ elem: '#ID-carousel-demo-set' }); // 开关事件 form.on('switch(autoplay)', function(){ // 重载轮播 carInst.reload({ autoplay: this.checked }); }); // 自动播放控制 form.on('select(autoplay)', function (obj) { // debugger; var autoplayValue = parseInt(obj.value); // 重载轮播 carInst.reload({ autoplay: isNaN(autoplayValue) ? obj.value : autoplayValue }); }); // 输入框事件 $('.carousel-demo-set').on('input propertychange', function(){ var value = this.value; var options = {}; //if(!/^\d+$/.test(value)) return; options[this.name] = value; carInst.reload(options); // 重载轮播 }); // 普通事件 util.on('lay-on', { "carousel-set": function(othis){ var THIS = 'layui-bg-normal'; var key = othis.data('key'); var options = {}; othis.css('background-color', '#16b777').siblings().removeAttr('style'); options[key] = othis.data('value'); carInst.reload(options); // 重载轮播 } }); }); </script>
填充图片轮播
<div class="layui-carousel" id="ID-carousel-demo-image"> <div carousel-item> <div><img src="https://unpkg.com/outeres/demo/carousel/720x360-1.jpg"></div> <div><img src="https://unpkg.com/outeres/demo/carousel/720x360-2.jpg"></div> <div><img src="https://unpkg.com/outeres/demo/carousel/720x360-3.jpg"></div> <div><img src="https://unpkg.com/outeres/demo/carousel/720x360-4.jpg"></div> <div><img src="https://unpkg.com/outeres/demo/carousel/720x360-5.jpg"></div> </div> </div> <!-- import layui --> <script> layui.use(function(){ var carousel = layui.carousel; // 渲染 - 图片轮播 carousel.render({ elem: '#ID-carousel-demo-image', width: '720px', height: '360px', interval: 3000 }); }); </script>