2010-06-21 10 views
14

Regardez le demo du curseur de l'interface utilisateur jQuery.Existe-t-il un moyen de faire en sorte que le curseur de l'interface utilisateur jQuery commence avec 0 au-dessus et non en bas?

Notez que lorsque la poignée est en bas, la valeur est 0?

Y a-t-il un moyen d'inverser cela, de sorte que la poignée tout en haut est de 0, et la poignée en bas est la gamme maximale?

J'ai joué un peu avec les options, mais jusqu'ici j'ai été incapable de le faire fonctionner.

Répondre

22

Ne pas inverser, prenez la voie facile :) Juste soustraire la valeur de votre maximum, par exemple:

$("#slider-vertical").slider({ 
    orientation: "vertical", 
    range: "min", 
    min: 0, 
    max: 100, 
    slide: function(event, ui) { 
     $("#amount").val(100 - ui.value); 
    } 
}); 

Cela va juste max-value, renverser, you can see a quick demo here efficacement.

+0

Le problème avec ceci est que le «remplissage» continue de croître de bas en haut. Je veux aussi une version de haut en bas, avec le remplissage fonctionnant de cette façon aussi. Il est temps de commencer à pirater ... – Elbin

+1

Il suffit de changer la gamme à "max" –

+1

@IainMNorman ne fonctionne pas pour moi. réponse en valeur absolue est le plus réalisable pour moi. –

3
$(function() { 
    $("#slider-vertical").slider({ 
     orientation: "vertical", 
     range: "max", // <--- needed... 
     min: 0, 
     max: 100, 
     value: 60, 
     slide: function(event, ui) { 
     $("#amount").val(100 - ui.value); // basic math operation.. 
     } 
    }); 
    }); 

demo...

+0

+1 merci de prendre le temps d'aider – alex

15

Probablement, l'utilisation de valeurs négatives sera plus élégante:

$('#slider').slider({ 
    min: -100, 
    max: 0, 
    value: -50, 
    step: 1 
}); 

Il suffit d'utiliser la valeur absolue, au lieu d'un réel, où vous en avez besoin.

+4

jusqu'à ce qu'ils aient une nouvelle option pour ce problème, c'est la bonne réponse. Je voudrais pouvoir +2 compte tenu de l'intelligence –

+3

Beaucoup moins hacky que la réponse acceptée. Je vous remercie. – mawburn

+0

si vous commencez en dessous de zéro et donc besoin de valeurs négatives, utilisez la valeur * -1 plutôt que math.abs – CodeToad

-1

Vous pouvez simplement le retourner à l'envers en utilisant css3.

#slider { 
    -moz-transform: rotate(180deg); 
    -webkit-transform: rotate(180deg); 
    -ms-transform: rotate(180deg); 
    -o-transform: rotate(180deg); 
    transform: rotate(180deg); 
} 
+0

Je crains que l'effet secondaire fou de l'entrée de la souris soit inversé. – nullability

+0

Vous avez raison, ce n'est pas une option. C'est marrant cependant ;-) –