mirror of
https://gitee.com/layui/layui.git
synced 2025-10-27 03:09:32 +08:00
Add docs
This commit is contained in:
215
docs/carousel/detail/demo.md
Normal file
215
docs/carousel/detail/demo.md
Normal file
@@ -0,0 +1,215 @@
|
||||
<h3 lay-toc="{level: 2, id: 'examples'}" class="layui-hide">常规用法</h3>
|
||||
|
||||
<pre class="layui-code" lay-options="{preview: true, codeStyle: 'height: 515px;', text: {preview: '常规用法'}, layout: ['preview', 'code'], tools: ['full']}">
|
||||
<textarea>
|
||||
<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>
|
||||
|
||||
<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>
|
||||
</textarea>
|
||||
</pre>
|
||||
|
||||
- 在元素外层设置 `class="layui-carousel"` 来定义一个轮播容器
|
||||
- 在元素内层设置属性 `carousel-item` 用来定义条目容器
|
||||
|
||||
<h3 id="demo-config" lay-toc="{level: 2, hot: true}">属性配置预览</h3>
|
||||
|
||||
<pre class="layui-code" lay-options="{preview: true, codeStyle: 'height: 515px;', layout: ['preview', 'code'], tools: ['full'], done: function(obj){
|
||||
obj.render();
|
||||
}}">
|
||||
<textarea>
|
||||
<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>
|
||||
|
||||
<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>
|
||||
</textarea>
|
||||
</pre>
|
||||
|
||||
<h3 id="demo-image" lay-toc="{level: 2}">填充图片轮播</h3>
|
||||
|
||||
<pre class="layui-code" lay-options="{preview: true, layout: ['preview', 'code'], tools: ['full']}">
|
||||
<textarea>
|
||||
<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>
|
||||
|
||||
<script>
|
||||
layui.use(function(){
|
||||
var carousel = layui.carousel;
|
||||
|
||||
// 渲染 - 图片轮播
|
||||
carousel.render({
|
||||
elem: '#ID-carousel-demo-image',
|
||||
width: '720px',
|
||||
height: '360px',
|
||||
interval: 3000
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</textarea>
|
||||
</pre>
|
||||
238
docs/carousel/detail/options.md
Normal file
238
docs/carousel/detail/options.md
Normal file
@@ -0,0 +1,238 @@
|
||||
<table class="layui-table">
|
||||
<colgroup>
|
||||
<col width="150">
|
||||
<col>
|
||||
<col width="100">
|
||||
<col width="100">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>属性名</th>
|
||||
<th>描述</th>
|
||||
<th>类型</th>
|
||||
<th>默认值</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>elem</td>
|
||||
<td>
|
||||
|
||||
绑定元素选择器或 DOM 对象
|
||||
|
||||
</td>
|
||||
<td>string/DOM</td>
|
||||
<td>-</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>width</td>
|
||||
<td>
|
||||
|
||||
设定轮播容器宽度,值支持:*像素*、*auto*、*百分比*。
|
||||
|
||||
</td>
|
||||
<td>string</td>
|
||||
<td>
|
||||
|
||||
`600px`
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>height</td>
|
||||
<td>
|
||||
|
||||
设定轮播容器高度,值支持的类型同 `width` 属性
|
||||
|
||||
</td>
|
||||
<td>string</td>
|
||||
<td>
|
||||
|
||||
`280px`
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>full</td>
|
||||
<td>
|
||||
|
||||
是否全屏轮播
|
||||
|
||||
</td>
|
||||
<td>boolean</td>
|
||||
<td>
|
||||
|
||||
`false`
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>anim</td>
|
||||
<td>
|
||||
|
||||
轮播切换动画方式。可选值有:
|
||||
|
||||
- `default` 左右切换
|
||||
- `updown` 上下切换
|
||||
- `fade` 渐隐渐显切换
|
||||
|
||||
</td>
|
||||
<td>boolean</td>
|
||||
<td>
|
||||
|
||||
`default`
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>autoplay</td>
|
||||
<td>
|
||||
|
||||
是否自动切换,可选值有:
|
||||
|
||||
- `true` 自动滚动,鼠标移入会暂停、移出重新恢复
|
||||
- `false` 不自动滚动
|
||||
- `alway` 始终自动滚动,不受鼠标移入移出影响 <sup>2.7+</sup>
|
||||
|
||||
|
||||
</td>
|
||||
<td>boolean<br>string</td>
|
||||
<td>
|
||||
|
||||
`true`
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>interval</td>
|
||||
<td>
|
||||
|
||||
自动切换的时间间隔,单位: ms (毫秒),不能低于 800
|
||||
|
||||
</td>
|
||||
<td>number</td>
|
||||
<td>
|
||||
|
||||
`3000`
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>index</td>
|
||||
<td>
|
||||
|
||||
初始开始的条目下标
|
||||
|
||||
</td>
|
||||
<td>number</td>
|
||||
<td>
|
||||
|
||||
`0`
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>arrow</td>
|
||||
<td>
|
||||
|
||||
切换箭头默认显示状态,可选值有:
|
||||
|
||||
- `hover` 鼠标悬停显示
|
||||
- `always` 始终显示
|
||||
- `none` 始终不显示
|
||||
|
||||
</td>
|
||||
<td>string</td>
|
||||
<td>
|
||||
|
||||
`hover`
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>indicator</td>
|
||||
<td>
|
||||
|
||||
指示器位置,可选值有:
|
||||
|
||||
- `inside` 显示在容器内部
|
||||
- `outside` 显示在容器外部
|
||||
- `none` 不显示
|
||||
|
||||
注 : 若设定了 `anim: 'updown'` ,则 `outside` 值无效
|
||||
|
||||
</td>
|
||||
<td>string</td>
|
||||
<td>
|
||||
|
||||
`inside`
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>trigger</td>
|
||||
<td>
|
||||
|
||||
指示器的触发事件
|
||||
|
||||
</td>
|
||||
<td>string</td>
|
||||
<td>
|
||||
|
||||
`click`
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" style="text-align: center">
|
||||
|
||||
|
||||
<div id="options.callback" class="ws-anchor" style="pointer-events: auto;">
|
||||
|
||||
[回调函数](#options.callback)
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>change <sup>2.7+</sup></td>
|
||||
<td colspan="3">
|
||||
|
||||
<div id="options.change", class="ws-anchor">
|
||||
轮播切换后的回调函数,返回一个对象参数。
|
||||
</div>
|
||||
|
||||
```
|
||||
carousel.render({
|
||||
elem: '#id',
|
||||
change: function(obj){
|
||||
console.log(obj.index); // 当前条目的索引
|
||||
console.log(obj.prevIndex); // 上一个条目的索引
|
||||
console.log(obj.item); // 当前条目的元素对象
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
注:在 `2.7` 之前的版本,需通过 carousel 的 `change` 事件来实现,如:
|
||||
|
||||
```
|
||||
var carousel = layui.carousel;
|
||||
|
||||
// 轮播渲染
|
||||
carousel.render(options);
|
||||
|
||||
// 触发轮播切换事件
|
||||
carousel.on('change(filter)', function(obj){ // filter 对应轮播容器的 lay-filter 属性值
|
||||
console.log(obj);
|
||||
});
|
||||
```
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### 贴士
|
||||
|
||||
> 若轮播的填充内容为图片,且 `width` 或 `height` 为自适应,那么需动态获取父容器宽高,从而适配父容器。 当浏览器窗口尺寸发生变化时,可在窗口 `resize` 事件中通过轮播重载来重设宽高值。
|
||||
Reference in New Issue
Block a user