我使用这个jquery slider,这个滑块有3个实例,我如何同步它们?如何同步几个jQuery滑块?
JS:
$(".slider").slider();
HTML:
<div class="slider"></div>
...
<div class="slider"></div>
我使用这个jquery slider,这个滑块有3个实例,我如何同步它们?如何同步几个jQuery滑块?
JS:
$(".slider").slider();
HTML:
<div class="slider"></div>
...
<div class="slider"></div>
分配不同的ID给每个:
<div class="slider" id="slider1"></div>
<div class="slider" id="slider2"></div>
<div class="slider" id="slider3"></div>
然后在你的滑块的初始化:
$("#slider1").slider({
slide: function(event, ui) {
$("#slider2").slider("value", ui.value);
$("#slider3").slider("value", ui.value);
}
});
$("#slider2").slider({
slide: function(event, ui) {
$("#slider1").slider("value", ui.value);
$("#slider3").slider("value", ui.value);
}
});
$("#slider3").slider({
slide: function(event, ui) {
$("#slider1").slider("value", ui.value);
$("#slider2").slider("value", ui.value);
}
});
我假设你可以概括并使用.slider选择器,并且只有1个初始化,但是你可能遇到很多问题。此答案基于以下示例中的API指南:http://jqueryui.com/demos/slider/#option-value – Jared 2011-03-23 15:27:16
您可以同步共享同一类别中的几种滑块使用过。每():
$('.slider.sync').slider({
min:0,
max:100,
slide: function(event,ui){
$('.slider.sync').each(function(){
$(this).slider('value', ui.value);
$(this).siblings('span.value').text(ui.value); // print value to span.value
});
}
});
,如果你使用的范围选项,它也可以,只是一定要使用“值”方法来代替的'价值':
$('.slider.sync').slider({
range:true,
min:0,
max:100,
values:[0,100],
slide: function(event,ui){
$('.slider.sync').each(function(){
$(this).slider('values', [ ui.values[0],ui.values[1] ]);
$(this).siblings('span.min').text(ui.values[0]); // print min value to span.min
$(this).siblings('span.max').text(ui.values[1]); // print max value to span.max
});
}
});
你可以发布代码吗?我现在所能说的就是设置jquery事件侦听器,然后在更改其他2个值时更新它们的值。 – Jared 2011-03-23 13:39:47
@Jared,我已经更新了代码。 – 2011-03-23 14:52:26