一、基本用法
layuiswitch是一款基於layui框架的開關插件,用於實現頁面中開關的效果。通過給對應元素賦值,就可以實現開關的狀態切換。它有以下幾個基本用法:
//html部分:
<div>
<input type="checkbox" name="switch" lay-skin="switch">
</div>
//js部分:
layui.use('form', function(){
var form = layui.form;
//監聽開關狀態事件
form.on('switch', function(data){
console.log(data.elem.checked); //開關是否開啟,true或者false
console.log(data.elem.value); //開關value值,也可以通過data.value獲取
console.log(data.elem.name); //開關name值,也可以通過data.name獲取
console.log(data.elem.title); //開關title值,也可以通過data.title獲取
console.log(data.othis); //得到美化後的DOM對象
});
});
通過上面的代碼,可以實現一個基本的開關,當用戶點擊開關時,可以觸發監聽事件,並且獲取開關的狀態值以及一些其他信息。
二、開關風格
layuiswitch提供了很多內置的風格,用戶可以根據自己的需求來選擇不同的風格。以下是layuiswitch內置的幾種風格:
1、默認風格
//html部分:
<div>
<input type="checkbox" name="switch" lay-skin="switch">
</div>
2、顏色風格
//html部分:
<div>
<input type="checkbox" name="switch" lay-skin="switch" lay-text="ON|OFF" lay-skin-color="orange">
</div>
//說明:
//lay-text屬性為定義切換的文字提示,如不開|已開啟
//lay-skin-color屬性為定義顏色。
3、原始風格
//html部分:
<div>
<input type="checkbox" name="switch" lay-skin="switch" lay-text="開啟|關閉" lay-skin-raw>
</div>
//說明:
//lay-text屬性為定義切換的文字提示,如不開|已開啟
//lay-skin-raw屬性為定義原始風格。
除了以上幾種內置風格之外,layuiswitch還提供了很多其他內置風格,用戶可以根據具體需求自行選擇。
三、自定義風格
除了使用layuiswitch提供的內置風格,用戶還可以通過自定義CSS來實現完全自定義的風格。以下是一個自定義風格的示例:
//html部分:
<div class="my-switch">
<input type="checkbox" name="switch" lay-skin="switch">
<div class="my-switch-text">ON</div>
</div>
//CSS部分:
.my-switch{
position: relative;
display: inline-block;
width: 60px;
height: 30px;
}
.my-switch input{
display: none;
}
.my-switch-text{
position: absolute;
left: 0;
top: 0;
width: 30px;
height: 30px;
line-height: 30px;
text-align: center;
background-color: #009688;
color: #fff;
border-radius: 4px;
cursor: pointer;
transition: all .3s;
}
.my-switch input:checked + .my-switch-text{
left: 30px;
}
通過以上代碼,可以實現一個自定義風格的開關。通過CSS定義了開關的大小、顏色以及文字提示等,實現了完全自定義的效果。
四、常用方法
除了基本用法之外,layuiswitch還提供了一些常用方法,方便用戶操作開關。
1、獲取開關狀態
//html部分:
<div>
<input type="checkbox" name="switch" lay-skin="switch">
</div>
//JS部分:
layui.use('form', function(){
var form = layui.form;
//獲取開關狀態
var switch_status = form.val('');
});
2、設置開關狀態
//html部分:
<div>
<input type="checkbox" name="switch" lay-skin="switch" lay-filter="test">
</div>
//JS部分:
layui.use('form', function(){
var form = layui.form;
//設置開關狀態
form.val('test', {
"switch": "on"
});
});
3、禁用/啟用開關
//html部分:
<div>
<input type="checkbox" name="switch" lay-skin="switch" disabled>
</div>
//JS部分:
layui.use('form', function(){
var form = layui.form;
//啟用/禁用開關
form.render('checkbox');
});
4、監聽開關狀態
//html部分:
<div>
<input type="checkbox" name="switch" lay-skin="switch">
</div>
//JS部分:
layui.use('form', function(){
var form = layui.form;
//監聽開關狀態
form.on('switch(test)', function(data){
console.log(data.elem.checked); //開關是否開啟,true或者false
console.log(data.elem.value); //開關value值,也可以通過data.value獲取
console.log(data.elem.name); //開關name值,也可以通過data.name獲取
console.log(data.elem.title); //開關title值,也可以通過data.title獲取
console.log(data.othis); //得到美化後的DOM對象
});
});
五、總結
通過本文的詳細闡述,我們全面了解了layuiswitch的基本用法、內置風格、自定義風格以及常用方法等方面的內容。使用layuiswitch可以很方便地實現頁面中開關的效果,同時也提供了很多豐富的API,方便用戶操作和定製。
原創文章,作者:HMLCQ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/370415.html