jQuery+CSS实现 - 滑动选取数值范围、选取价格范围
效果图:
1、在HTML中导入jquery库文件和jquery.ui插件:
<script src="http://www.youhutong.com/static/js/jquery.js"></script> <script type='text/javascript' src='./js/jquery-ui.min.js'></script>
2、接着,我们编写html代码:
<div class="demo"> <p>点击“自定义”可以看到效果。</p> <ul class="price_list"> <li class="title">价格范围:</li> <li id="custom"> <a href="javascript:;" id="show">自定义</a> <div id="slider_wrap"> <div id="slider"> <div id="range"></div> </div> <p> <input type="text" class="input" id="start" value="0" /> - <input type="text" class="input" id="end" value="3000" /> <input type="button" class="btn" id="btn_ok" value="确 定" /> </p> </div> </li> <li><a href="#">100元以下</a></li> <li><a href="#">100-500元</a></li> <li><a href="#">500-2000元</a></li> <li><a href="#">2000元以上</a></li> </ul> </div>
相关的CSS样式就不在这里贴出来了,可以下载源码获取!(主要是美化页面的)
3、Jquery部分:
首先,我们需要在点击“自定义”时,下拉弹出滑块范围显示的层。当点击“自定义”时,显示下拉层,并且改变箭头样式,再次点击时,则隐藏下拉层。
$("#show").click(function(){ if($("#slider_wrap").css("display")=="none"){ $("#slider_wrap").show(); $("#custom").css("background-position","right -18px"); }else{ $("#slider_wrap").hide(); $("#custom").css("background-position","right 8px"); } });
接着调用jquery中的slider插件:
$("#range").slider({ range: true, min: 0, max: 10000, step: 500, values: [0, 3000], slide: function(event, ui){ $("#start").val(ui.values[0]); $("#end").val(ui.values[1]); } });
我们设置了滑块的最大值max为10000,最小值min为0,滑块每次滑动的距离step是500,默认初始范围values为0到3000。
当滑动滑块的时候,赋值给#start和#end两个文本框。
更多参数设置和方法调用请查看jquery ui 官方网站:http://jqueryui.com/demos/slider/
最后,当我们选定好价格范围后,点击“确定”按钮,将关闭滑块选择框,改变“自定义”状态,代码如下:
$("#btn_ok").click(function(){ $("#slider_wrap").hide(); $("#custom").css("background-position","right 8px"); var start = $("#start").val(); var end = $("#end").val(); $("#show").html(start+"-"+end); });
这样,我们就可以看到我们想要的效果了。
转载请注明来源地址:小川编程 » https://www.youhutong.com/index.php/article/index/91.html
1、本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,下载后请24小时内删除。
2、本站所有内容均不能保证其完整性,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意