jQuery UI Slider - Valeur retournée par "slide" de l'événement sur version est différente de la " variation de valeur des
J'ai un jQuery UI slider:
$('div.slider').slider({
range: true,
step: 250,
min: 1000,
max: 500000,
values: [1000,500000],
change: function(event, ui){
console.log($(this).slider('values', 0)+','+$(this).slider('values', 1));
},
slide: function(event, ui){
console.log($(this).slider('values', 0)+','+$(this).slider('values', 1));
}
});
Pour une raison étrange, lorsque vous relâchez le curseur (mouseup) la valeur change légèrement de ce qu'il était. La diapositive événement est de retour quelque chose de différent de ce que l'événement de changement. N'importe qui ont des idées de ce que pourrait être la cause de cela et comment je pourrais le résoudre?
Je vais avoir une assez intense opération dans la fonction de rappel pour l'événement de changement (ce qui signifie que je ne peut pas utiliser de sldie), mais aussi besoin de montrer les valeurs du curseur de vivre, donc je ne peux pas utiliser un seul ou l'autre.
Ici un violon avec cette bizarrerie dans l'action: http://jsfiddle.net/5W6Zh/
Merci d'avance
OriginalL'auteur wyqydsyq | 2012-02-02
Vous devez vous connecter pour publier un commentaire.
on est tombé sur ça ce soir (et la nuit dernière, et depuis quelques mois). Ce que nous avons fait pour le fixer a l'utilisation de l'interface utilisateur.de la valeur et de l'interface utilisateur.les valeurs[0] au lieu de $("#slider").curseur ("valeurs", 0).
Utiliser ceci:
Au lieu de:
Je bifurquais votre jsfiddle et de le faire fonctionner:
http://jsfiddle.net/danhixon/9JdhU/1/
Honnêtement, je ne pense pas que j'aurais trouvé la solution sans votre question et jsfiddle - j'ai gardé la comparant à la jquery-ui démo jusqu'à ce que j'ai trouvé cette différence.
OriginalL'auteur Dan Hixon
J'ai trouvé une solution! TOUJOURS le faire sur une diapositive événement:
Et vous êtes bon pour aller
Mon curseur est seulement de retour
[object Object]
.parfait! j'ai été frapper ma tête sur mon bureau aujourd'hui, à cause de cela.. je sais que ses un an de retard, mais @nippons, vous obtenez
[object object]
parce que c'est un curseur de plage, essayez:$(this).slider('values', ui.values[0]);
Wow, vous êtes un génie 🙂 Merci!!
OriginalL'auteur Eric
Utilisation de l'interface utilisateur.valeur dans la diapositive gestionnaire pour obtenir une mesure plus précise de la valeur.
OriginalL'auteur ParhelicTriangle
Votre min, max et les valeurs de l'étape look un peu bizarre, mais je suppose que tu viens juste de les mélanger.
J'ai trouvé que le curseur ne fonctionne pas trop bien avec des étapes beaucoup plus petit que 1, alors j'ai changé d'utiliser des nombres entiers et de les diviser par la suite. Jamais eu de problèmes depuis.
OriginalL'auteur cvk