我需要在同一页面中使用多个滑块。因此,我创建了一个滑块类(所以只有一个jQuery代码),我想将最大值和最小值设置为div的属性。然后它们将根据所选的滑块进行更改。JQuery UI滑块:使用属性设置最小和最大值
我猜想要做到这一点,我需要在某个时候使用this
,否则它会针对每个班级。尽管我不知道从哪里开始或将其包含在哪里。
现在我刚刚申请的基本代码,那就是:
HTML:
<div class="slider" slider-min="15" slider-max="250" svalue="132"></div><span class="slider-value"></span>
<div class="slider" slider-min="30" slider-max="300" svalue="165"></div><span class="slider-value"></span>
<div class="slider" slider-min="100" slider-max="500" svalue="300"></div><span class="slider-value"></span>
CSS:
.ui-slider { position: relative; text-align: left; background: #DADDD8; z-index: 0; }
.ui-slider { -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset; box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset; }
.ui-slider .ui-slider-handle { background: #8FB339; position: absolute; z-index: 2; width: 15px; height: 15px; border-radius:5px; cursor:pointer; }
.ui-slider .ui-state-hover, .ui-slider .ui-state-active { background: #4B5842; }
.ui-slider .ui-slider-range { background: #C7D59F; position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
.ui-slider .ui-slider-range { -moz-box-shadow: 0 1px 2px rgba(17,35,45,0.6) inset; -webkit-box-shadow: 0 1px 2px rgba(17,35,45,0.6) inset; box-shadow: 0 1px 2px rgba(17,35,45,0.6) inset; }
.ui-slider-horizontal { height: 5px; width:100px; margin:5px auto; }
.ui-slider-horizontal .ui-slider-handle { top: -5px; margin-left: -5px; }
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
.slider-value{
font-size:12px;
float:right;
margin-top:-16px;
margin-right:5px;
}
JS/JQUERY:
$(function() {
var div = $(".slider");
$(".slider").slider({
range: "min",
slide: function(event, ui) {
$(".slider-value").html(ui.value);
},
min: div.data("slider-min"),
max: div.data("slider-max"),
value: div.data("svalue"),
})});
$(".slider-value").html( $(this).slider('value'));
Here是这个演示上的jsfiddle
,虽然我在这,我这有其他问题与类/多滑块的事:当我想显示当前值 ONE滑块,因为它是一个类,它会更改所有的.slider-value
范围。我不知道从哪里开始解决这个问题。
谢谢你的时间/帮助:)
谢谢您的回答理查德!你的解决方案解决了slider-value问题,但它看起来像最小值和最大值仍然没有改变(它们是0和100)。你认为你知道为什么吗? –
第二个问题,对不起,我不确定幻灯片var是什么? –
没问题。你可以忽略幻灯片var,我正在尝试一种不同的方法,并将它遗忘在那里。我更新了答案,以正确解析元素属性的值。我使用了jQuery的'.attr()'方法,但是这会将值作为字符串返回,滑块对象并不期望,所以我使用本地JavaScript方法'parseInt()'将值转换为Number对象。 –