《layui宇宙版教程》:滑块slider

《Layui宇宙版教程》提供2000人的QQ群进行交流学习,QQ群号:1046961650,或通过手机QQ扫描二维码进入:

 

1.28 滑块slider

作为一个拖拽式的交互性组件,滑块往往能给产品带来更好的操作体验。

模块加载名称:slider。

1.28.1 快速使用

通过对slider模块的使用,可以在页面构建出可拖动的滑动元素,如下代码是一个最基本的用法。

 

  测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

       <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

       <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

        <div id="slideTest1"></div>

       <script>

           var slider = layui.slider;

           //渲染

           slider.render({

              elem: '#slideTest1' //绑定元素

           });

       </script>

    </body>

</html>

 

    运行效果如图1-xx所示。

 

1.28.2 基础参数

支持的基础参数如图1-xx所示。

 

1.28.3 属性type

  测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

       <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

       <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

       <div id="slideTest1"></div>

       <br />

       <br />

       <br />

       <br />

       <div id="slideTest2"></div>

       <script>

           var slider = layui.slider;

           slider.render({

              elem: '#slideTest1',

              type: "default"

           });

           slider.render({

              elem: '#slideTest2',

              type: "vertical"

           });

       </script>

    </body>

</html>

 

    运行效果如图1-xx所示。

 

1.28.4 属性min和max

  测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

       <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

       <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

       <div id="slideTest1"></div>

       <script>

           var slider = layui.slider;

           slider.render({

              elem: '#slideTest1',

              min: 30,

              max: 90

           });

       </script>

    </body>

</html>

 

1.28.5 属性range

  测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

       <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

       <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

       <div id="slideTest1"></div>

       <script>

           var slider = layui.slider;

           slider.render({

              elem: '#slideTest1',

              range: true

           });

       </script>

    </body>

</html>

 

    运行效果如图1-xx所示。

 

1.28.6 属性value

  测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

       <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

       <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

       <div id="slideTest1"></div>

       <br />

       <br />

       <br />

       <div id="slideTest2"></div>

       <script>

           var slider = layui.slider;

           slider.render({

              elem: '#slideTest1',

              range: true,

              value: [50, 60]

           });

           slider.render({

              elem: '#slideTest2',

              value: 50

           });

       </script>

    </body>

</html>

 

    运行效果如图1-xx所示。

 

1.28.7 属性step

  测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

       <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

       <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

       <div id="slideTest1"></div>

       <script>

           var slider = layui.slider;

           slider.render({

              elem: '#slideTest1',

              step: 10

           });

        </script>

    </body>

</html>

 

1.28.8 属性showstep

  测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

       <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

       <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

       <div id="slideTest1"></div>

       <script>

           var slider = layui.slider;

           slider.render({

              elem: '#slideTest1',

              step: 10,

              showstep: true

           });

       </script>

    </body>

</html>

 

    运行效果如图1-xx所示。

 

1.28.9 属性tips

  测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

       <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

        <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

       <div id="slideTest1"></div>

       <script>

           var slider = layui.slider;

           slider.render({

              elem: '#slideTest1',

              tips: false

           });

       </script>

    </body>

</html>

 

1.28.10 属性input

  测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

       <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

       <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

       <div id="slideTest1"></div>

       <script>

           var slider = layui.slider;

           slider.render({

              elem: '#slideTest1',

              input: true

           });

       </script>

    </body>

</html>

 

    运行效果如图1-xx所示。

 

1.28.11 属性height

  测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

       <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

       <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

       <div id="slideTest1"></div>

       <script>

           var slider = layui.slider;

           slider.render({

              elem: '#slideTest1',

              type: "vertical",

              height: 500

           });

       </script>

    </body>

</html>

 

1.28.12 属性disabled

  测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

        <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

       <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

       <div id="slideTest1"></div>

       <script>

           var slider = layui.slider;

           slider.render({

              elem: '#slideTest1',

              value: 50,

              disabled: true

           });

       </script>

    </body>

</html>

 

    运行效果如图1-xx所示。

 

1.28.13 属性theme

  测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

       <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

       <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

       <div id="slideTest1"></div>

       <script>

           var slider = layui.slider;

           slider.render({

              elem: '#slideTest1',

              value: 50,

              theme: "red"

           });

       </script>

    </body>

</html>

 

    运行效果如图1-xx所示。

 

1.28.14 自定义提示文本

当鼠标放在圆点和滑块拖拽时均会触发提示层。其默认显示的文本是它的对应数值,也可以自定义提示内容。

 

  测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

       <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

       <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

       <div id="slideTest1"></div>

       <script>

           var slider = layui.slider;

           slider.render({

              elem: '#slideTest1',

              setTips: function(value) { //自定义提示文本

                  return "百分比:" + value + '%';

               }

           });

       </script>

    </body>

</html>

 

    运行效果如图1-xx所示。

 

1.28.15 数值改变的回调

在滑块数值被改变时触发。该回调非常重要,可动态获得滑块当前的数值。可以将得到的数值赋值给隐藏域或者进行一些其它操作。

 

  测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

       <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

       <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

       <div id="slideTest1"></div>

       <br />

       <br />

       <br />

       <div id="slideTest2"></div>

       <script>

           var slider = layui.slider;

           //当滑块为普通模式,回调返回的value是一个数值

           slider.render({

              elem: '#slideTest1',

              change: function(value) {

                  console.log(value) //动态获取滑块数值

                  //do something

              }

           });

 

           //当滑块为范围模式,回调返回的value是一个数组,包含开始和结尾

           slider.render({

              elem: '#slideTest2',

              range: true,

              change: function(value) {

                  console.log(value[0]) //得到开始值

                  console.log(value[1]) //得到结尾值

                  //do something

              }

           });

       </script>

    </body>

</html>

 

1.28.16 实例方法

执行slider实例时会返回一个当前实例的对象,里面包含针对当前实例的方法和属性。

语法:var ins1 = slider.render(options);

    实例方法和属性如图1-xx所示。

 

1.28.17 动态改变滑块数值

可以通过外部方法动态改变滑块数值。

  

测试代码如下:

<!DOCTYPE html>

<html>

    <head>

       <meta charset="utf-8">

       <title></title>

       <script src="js/jquery3.5.1.js"></script>

       <link rel="stylesheet" href="layui/css/layui.css" />

       <script src="layui/layui.all.js"></script>

    </head>

    <body style="padding: 10px;">

       <br />

       <br />

       <div id="slideTest1"></div>

       <br />

       <br />

       <br />

       <div id="slideTest2"></div>

       <br />

       <br />

       <br />

       <input type="button" value="button1" id="button1">

       <br />

       <input type="button" value="button2" id="button2">

       <script>

           var slider = layui.slider;

           //当滑块为普通模式,回调返回的value是一个数值

           var ins1 = slider.render({

              elem: '#slideTest1'

           });

 

           //当滑块为范围模式,回调返回的value是一个数组,包含开始和结尾

           var ins2 = slider.render({

              elem: '#slideTest2',

              range: true

           });

 

           $(document).ready(function() {

              $("#button1").click(function() {

                  ins1.setValue(20)

              });

              $("#button2").click(function() {

                  //若滑块开启了范围(range: true

                  ins2.setValue(20, 0) //设置开始值

                  ins2.setValue(60, 1) //设置结尾值

              });

           });

       </script>

    </body>

</html>

 

    运行效果如图1-xx所示。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值