我们先来了解一下Layui是什么。
什么是Layui
Layui(类库名字称呼为layui)是一个模块化前端UI框架,适合于大型复杂的Web应用程序。它是由一群热爱Web前端的朋友们所创建的,遵循“基于模块化组织,松耦合,高可维护”的设计原则。
既然了解了Layui,我们就可以通过Layui来实现开关按钮的效果了。
实现步骤
- 首先,我们需要先引入Layui的JS和CSS文件:
<!-- 引入Layui样式文件 -->
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/layui/2.5.6/css/layui.min.css">
<!-- 引入jQuery文件 -->
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<!-- 引入Layui.js文件 -->
<script src="https://cdn.bootcdn.net/ajax/libs/layui/2.5.6/layui.min.js"></script>
- 接着,我们可以在body内添加一个开关按钮的HTML代码:
<div class="layui-form-item">
<label class="layui-form-label">开关</label>
<div class="layui-input-block">
<input type="checkbox" name="open" lay-skin="switch">
</div>
</div>
这段代码可以生成一个简单的开关按钮。
- 最后,在JS中配置开关按钮的事件:
// 使用layui的form组件
layui.use(['form'], function() {
var form = layui.form;
// 监听开关按钮的事件
form.on('switch', function(data) {
console.log(data.elem); // 得到checkbox原始DOM对象
console.log(data.elem.checked); // 开关是否开启,true或者false
console.log(data.value); // 开关value值,也可以通过data.elem.value得到
console.log(data.othis); // 得到美化后的DOM对象
});
});
这段代码可以监听开关按钮的事件,并将开关按钮的状态等信息输出到控制台上。
至此,我们就完成了在Layui中实现开关按钮的效果。
示例说明1
下面我们来看一下如何使用Layui实现一个带有文字说明的开关按钮。
<div class="layui-form-item">
<label class="layui-form-label">带有文字的开关</label>
<div class="layui-input-block">
<input type="checkbox" name="open" lay-skin="switch" lay-text="开启|关闭">
</div>
</div>
这段代码中,我们在input标签中使用了lay-text
属性,可以对开关按钮的开启和关闭状态进行文字说明。
示例说明2
下面我们来看一下如何使用Layui实现一个在页面中可拖拽的开关按钮。
<div class="layui-form-item">
<label class="layui-form-label">可拖拽的开关</label>
<div class="layui-input-block">
<input type="checkbox" name="drag" lay-skin="switch" lay-filter="switchtest" lay-text="ON|OFF" value="1">
</div>
</div>
layui.use(['form'], function() {
var form = layui.form;
// 监听开关按钮的事件
form.on('switch(switchtest)', function(data) {
if (this.checked) {
// 开关在打开状态下,允许拖拽
$(this).parent().draggable();
} else {
// 开关在关闭状态下,禁止拖拽
$(this).parent().draggable('destroy');
}
});
});
这段代码中,我们对开关按钮添加了一个lay-filter
属性,用于标识开关按钮,方便后续对开关按钮添加事件。
在监听到开关按钮的事件后,我们根据开关按钮的状态来控制元素是否可以拖拽。如果开关按钮是打开状态,那么我们就调用jQuery UI的draggable()方法来实现元素的拖拽;如果开关按钮是关闭状态,那么我们就调用draggable('destroy')方法来取消元素的拖拽功能。
这样,我们就实现了一个可拖拽的开关按钮。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Layui中实现开关按钮的效果实例 - Python技术站