J'utilise ce jquery slider, il y a 3 instances de ce curseur, comment puis-je les synchroniser?Comment synchroniser plusieurs curseurs jQuery?
js:
$(".slider").slider();
html:
<div class="slider"></div>
...
<div class="slider"></div>
J'utilise ce jquery slider, il y a 3 instances de ce curseur, comment puis-je les synchroniser?Comment synchroniser plusieurs curseurs jQuery?
js:
$(".slider").slider();
html:
<div class="slider"></div>
...
<div class="slider"></div>
attribuer une autre ID à chaque:
<div class="slider" id="slider1"></div>
<div class="slider" id="slider2"></div>
<div class="slider" id="slider3"></div>
puis sur votre initialisation du curseur:
$("#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);
}
});
Je suppose que vous pouvez généraliser et utiliser le sélecteur .slider et seulement 1 initialisation, mais vous pourriez rencontrer beaucoup de problèmes. Cette réponse est basée sur le guide API ci-dessous l'exemple: http://jqueryui.com/demos/slider/#option-value – Jared
Vous pouvez synchroniser plusieurs curseurs qui partagent la même classe en utilisant trop .each():
$('.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
});
}
});
Il fonctionne également si vous utilisez l'option de gamme, juste être sûr d'utiliser la méthode « valeurs » au lieu de 'valeur':
$('.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
});
}
});
Pouvez-vous écrire un code? Tout ce que je peux dire maintenant est de mettre les écouteurs d'événements jquery sur chacun, puis de mettre à jour les valeurs des 2 autres quand on en change une. – Jared
@Jared, j'ai mis à jour avec le code. –