国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jQuery插件slider實現拖動滑塊選取價格范圍

2019-11-20 12:34:35
字體:
來源:轉載
供稿:網友

在一些產品報價網站上,需要給出一系列價格范圍供用戶篩選,我們在篩選的范圍之外再加一個自定義價格范圍,這樣為用戶多提供了一種選擇方式。本文將使用jQuery插件結合CSS實現使用滑塊滑動的方式選擇價格范圍,請看本文講解。

jQuery ui 有個slider插件,就是一個非常好使的拖動滑塊插件。要想實現滑塊拖動,需要在頁面head間先載入如下js。

<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/ui/jquery.ui.core.js"></script> <script type="text/javascript" src="js/ui/jquery.ui.widget.js"></script> <script type="text/javascript" src="js/ui/jquery.ui.mouse.js"></script> <script type="text/javascript" src="js/ui/jquery.ui.slider.js"></script> 

當然,如果考慮項目運行效率,你可以將上述幾個js壓縮成一個js,我們在大型WEB應用項目中就要考慮這些。
你可以到jquery ui 官網下載這些相關js,
接著,我們構建主要html代碼:

<ul class="price_list">   <li class="title">價格范圍:</li>   <li><a href="#">3000元以下</a></li>   <li><a href="#">3000-4000元</a></li>   <li><a href="#">4000-5000元</a></li>   <li><a href="#">5000-6000元</a></li>   <li><a href="#">6000-7000元</a></li>   <li><a href="#">7000-8000元</a></li>   <li><a href="#">8000-9000元</a></li>   <li><a href="#">9000-10000元</a></li>   <li><a href="#">10000元以上</a></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> </ul> 

價格范圍由一系列li組成,其中最后一個li,我們給它一個設置id為custom,并且在其中包含需要展示滑塊選擇的div#slider_wrap,當然默認情況下該div是隱藏的。我們需要用CSS來實現外觀效果。

CSS

通過CSS,使頁面有一個好看的外觀:

.price_list{list-style:none} .price_list li{float:left; line-height:22px; margin-right:10px; padding:2px 6px} .price_list li.title{display:block; width:60px; height:60px;} #custom{border:1px solid #d3d3d3; padding:0 16px 0 2px; background:url(images/icon.gif)  no-repeat right 8px; position:relative;} .custom_show{background:url(images/icon.gif) no-repeat right 18px;} #show{width:100%; height:26px} .input{width:66px; height:20px; line-height:20px; border:1px solid #d3d3d3} .btn{width:54px; height:24px; line-height:24px; background:url(images/btn_bg.gif) repeat-x; border:1px solid #d3d3d3; cursor:pointer} #slider_wrap{width:250px; height:80px; padding:10px; position:absolute; left:-1px; top:22px; border:1px solid #d3d3d3; background:#fff; display:none; z-index:1001} #slider{width:230px; height:40px; margin:5px auto; border:none; background: url(images/line_bg.gif) no-repeat} #range{width:220px; margin-left:4px} #slider_wrap p{width:230px; margin:4px auto} 

關鍵是彈出下拉的div用來展示滑動選擇范圍的CSS,通過絕對與相對定位來確定展示層的位置。
展示層中的滑塊插件的CSS來源于jquery ui的自帶的CSS,我做了一些小的修改。

.ui-slider {position:relative; text-align:left;} .ui-slider .ui-slider-handle {position:absolute; z-index:2; width:11px; height:14px; cursor: default; background:url(images/arr.gif) no-repeat } .ui-slider .ui-slider-range {position:absolute; z-index:1; display:block; border:0; background:#f90} .ui-slider-horizontal {height:10px; } .ui-slider-horizontal .ui-slider-handle {top:14px; margin-left:0; } .ui-slider-horizontal .ui-slider-range {top:20px; height:4px; } .ui-slider-horizontal .ui-slider-range-min {left:0; } .ui-slider-horizontal .ui-slider-range-max {right:0; } 

jQuery

首先,我們需要在點擊“自定義”時,下拉彈出滑塊范圍顯示的層。當點擊“自定義”時,顯示下拉層,并且改變箭頭樣式,再次點擊時,則隱藏下拉層。

$(function(){   $("#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");     }   }); }); 

有同學可能會想為什么不直接用toggle方法來代替click,我試過了,行的通,但是后面我們還要在下拉的層中單擊“確定”,隱藏下拉層。如果使用toggle方法,則當單擊了“確定”按鈕之后需要點兩下才能彈出下拉層,所以我選擇了click方法加判斷來解決這個問題。
接著調用slider插件:

$("#range").slider({   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 官方網站:
最后,當我們選定好價格范圍后,點擊“確定”按鈕,將關閉滑塊選擇框,改變“自定義”狀態,代碼如下:

$("#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); }); 

這樣,我們就可以看到我們想要的效果了,快去動手試試吧。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沧源| 周口市| 察哈| 垣曲县| 沈丘县| 三门县| 上思县| 博湖县| 叶城县| 乐亭县| 安徽省| 安阳县| 房产| 竹山县| 牡丹江市| 永川市| 乡宁县| 绍兴市| 荣成市| 临武县| 红安县| 金湖县| 涟水县| 吉木乃县| 澎湖县| 江北区| 闸北区| 南郑县| 东莞市| 灯塔市| 九寨沟县| 济南市| 乌鲁木齐县| 万年县| 嘉义市| 和林格尔县| 新郑市| 晋江市| 铁岭市| 江川县| 恩施市|