020-滑块

本文详细介绍了 layui 滑块组件的使用,包括基础参数、自定义提示文本方法、数值改变的回调函数、实例方法以及动态改变滑块数值的方法。通过示例代码展示了如何渲染、设置提示文本、监听数值变化以及动态调整滑块值,提供了一个完整的垂直和水平滑块的示例。此外,还给出了实际运行的代码和效果图。

1. 作为一个拖拽式的交互性组件, 滑块往往能给产品带来更好的操作体验。slider模块包含了你能想到的大部分功能, 尽管它可以作为一个独立的个体, 但很多时候它往往会出现form元素中。

2. 模块加载名称:slider。

3. 基础参数

3.1. slider组件支持以下参数:

4. 自定义提示文本方法 - setTips

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

<script type="text/javascript">
	layui.use(['slider'], function() {
		var slider = layui.slider;

		// 渲染
	  	slider.render({
	    	elem: '#test2'  // 指向容器选择器
	    	,setTips: function(value){ //自定义提示文本
		    	return value + '%';
		  	}
	  	});
	});              
</script>

5. 数值改变的回调函数 - change

5.1. 在滑块数值被改变时触发。该回调非常重要, 可动态获得滑块当前的数值:

<script type="text/javascript">
	layui.use(['slider'], function() {
		var slider = layui.slider;

		// 渲染
	  	slider.render({
	    	elem: '#test2'  // 指向容器选择器
	    	,change: function(value){
		    	console.log(value[0]) //得到开始值
		    	console.log(value[1]) //得到结尾值
		  	}
	  	});
	});              
</script>

6. 实例方法

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

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

var ins = slider.render(options); // 获得实例对象
 
ins.config // 获得当前实例的配置项

7. 动态改变滑块数值 - setValue

7.1. 你可以通过外部方法动态改变滑块数值:

<script type="text/javascript">
	layui.use(['slider'], function() {
		var slider = layui.slider;

		// 渲染
	  	var ins = slider.render({
	    	elem: '#test1'  // 指向容器选择器
	  	});

	  	// 改变指定滑块实例的数值
	  	ins.setValue(20);

		// 渲染
	  	var ins1 = slider.render({
	    	elem: '#test2'  // 指向容器选择器
	    	,range: true // 是否开启滑块的范围拖拽, 若设为true, 则滑块将出现两个可拖拽的环
	  	});

	  	// 若滑块开启了范围range: true
	  	ins1.setValue(1, 0) // 设置开始值
		ins1.setValue(6, 1) // 设置结尾值
	});              
</script>

8. 例子

8.1. 代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>滑块 - layui</title>

		<link rel="stylesheet" href="layui/css/layui.css">
		<script type="text/javascript" src="layui/layui.js"></script>
	</head>
	<body>
		<div style="margin-top: 60px;" id="test1"></div> <br />
		<div id="test2"></div>

		<script type="text/javascript">
			layui.use(['slider'], function() {
  				var slider = layui.slider;

  				// 渲染
			  	var ins = slider.render({
			    	elem: '#test1'  // 指向容器选择器
			    	,type: 'vertical' // 滑块类型, 可选值有: default(水平滑块)、vertical(垂直滑块)
			    	,input: true // 是否显示输入框
			    	,height: 300 // 滑动条高度
			    	,theme: '#000000' // 主题颜色
			  	});

			  	// 改变指定滑块实例的数值
			  	ins.setValue(20);

				// 渲染
			  	var ins1 = slider.render({
			    	elem: '#test2'  // 指向容器选择器
			    	,type: 'default' // 滑块类型, 可选值有: default(水平滑块)、vertical(垂直滑块)
			    	,min: 0 // 滑动条最小值, 正整数, 默认为0
			    	,max: 100 // 滑动条最大值
			    	,range: true // 是否开启滑块的范围拖拽, 若设为true, 则滑块将出现两个可拖拽的环
			    	,value: [30, 60] // 滑块初始值
			    	,step: 10 // 拖动的步长
			    	,showstep: true // 是否显示间断点
			    	,tips: true // 是否显示文字提示
			    	,setTips: function(value){ //自定义提示文本
				    	return value + '%';
				  	}
			    	,change: function(value){
				    	console.log(value[0]) //得到开始值
				    	console.log(value[1]) //得到结尾值
				  	}
			  	});

			  	// 若滑块开启了范围range: true
			  	ins1.setValue(1, 0) // 设置开始值
				ins1.setValue(6, 1) // 设置结尾值
			});              
		</script>
	</body>
</html>

8.2. 效果图

D题 气垫导轨的光电门制作与牛顿第二定律验证 一、题目背景 牛顿第二定律是力学基础规律,气垫导轨能减少滑块运动中的摩擦干扰,适合开展定律验证实验。本次竞赛以实操训练为目标,要求大家围绕现成的气垫导轨,自主制作两组用于测量的光电门,搭配数据处理装置完成滑块加速度测量,进而验证牛顿第二定律,重点锻炼测量仪器制作和数据处理的基础能力。 二、核心任务与要求 (一)核心任务 1:制作两组光电门 1.组件选择:需用红光发射管、普通光敏接收管作为核心元件,搭配电阻、电容等基础电子元件,自主设计电路。 2.电路功能:每组光电门要能实现 “挡光时输出信号变化” 的功能 —— 滑块上的挡光片经过时,红外光线被遮挡,接收管能捕捉到这一变化,并将信号转化为可被后续装置识别的电信号(如高低电平变化)。 3.结构固定:需设计简单的安装结构(如用塑料板、金属支架等),将光电门固定在气垫导轨上,保证两组光电门沿导轨直线分布,间距可调节(建议调节范围 20-50cm),且发射管与接收管能精准对准,避免漏光或误触发。 4.基础性能:在普通实验室光照环境下,光电门能稳定工作,确保计时准确。 (二)核心任务 2:搭建加速度测量系统 1.计时与数据采集:需搭配单片机作为主控装置,将两组光电门的信号接入单片机,编写程序实现 “记录挡光片通过每组光电门的时间” 功能。 2.加速度计算:已知挡光片的宽度(需提前用尺子精确测量,记录数值),根据 “速度 = 挡光片宽度 / 挡光时间” 计算滑块通过每组光电门的瞬时速度;再根据两组光电门的间距和两次挡光的时间差,用 “加速度 =(末速度 - 初速度)/ 时间差” 计算滑块的平均加速度。 3.实验验证:通过改变滑块的拉力(如在绳子一端挂不同质量的砝码)或滑块自身质量(如给滑块添加配重),完成至少 3 组实验,记录每次的拉力、滑块总质量、计算得到的加速度,验证 “在质量一定时,加速度与拉力成正比;在拉力一定时,加速度与质量成反比”。 (三)加分项:显示与数据存取(可选完成) 1.多样化显示(最多加 15 分): ◦基础显示:在装置上搭配小型显示屏(如 OLED 屏、LCD1602 屏),实时显示每次实验的挡光时间、计算出的速度和加速度(加 8 分); ◦进阶显示:通过电脑或者手机软件实时显示实验数据(加 7 分)。 2.数据存取读取(最多加 15 分): ◦数据存储:能存储实验的原始数据(挡光时间、挡光片宽度、光电门间距、计算出的速度和加速度); ◦数据读取:能回看历史实验数据(加 7 分)。 三、提交要求 1.实物装置:完整的两组光电门、单片机主控装置(含连接线),能正常完成加速度测量实验。 2.设计文档:包含光电门的电路原理图、安装结构示意图、单片机程序代码(需标注关键代码说明),以及实验中用到的挡光片宽度、光电门间距等测量数据记录。 3.实验报告:记录 3 组及以上实验的过程、数据(拉力、质量、加速度),对比实验结果与理论预期,简要分析可能的误差(如挡光片测量误差、信号延迟影响等)。 4.操作视频:3-5 分钟的简短视频,展示光电门安装在导轨上的状态、实验操作过程(滑块运动、数据显示),证明装置能正常工作。 四、评分标准 评分维度 分值 具体要求 光电门及其电路制作 35 分 电路功能正常(20 分),结构固定稳固、对准准确(10 分),光照下工作稳定(5 分) 加速度测量 35 分 计时准确(10 分),速度与加速度计算逻辑正确(15 分),实验数据能验证定律(10 分) 加分项(显示) 15 分 完成基础显示得 8 分,完成进阶显示额外加 7 分(总分不超过 15 分) 加分项(数据) 15 分 完成数据存储得 8 分,完成数据读取额外加 7 分(总分不超过 15 分) 文档与报告 10 分 设计文档清晰(5 分),实验报告数据详实、误差分析合理(5 分) 总分 100 分 —— 请你跟据这个文本帮我制作一个软件用来实现进阶显示:通过电脑实时显示实验数据,要求:以Visual Studio 2022为编写程序,给出制作这个程序的每一步的制作过程,电脑通过usb线与单片机连接实现数据读取,界面的布局属性详细给出
最新发布
11-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值