2012-06-06 3 views
6

Ich habe einen Schieberegler, der von 0 bis 80 reicht. Ich möchte einen minimalen Bereich hinzufügen, so dass die Benutzer nicht Slider niedriger als das. zum Beispiel möchte ich wie 20 um einen Wert einzustellen, und die Benutzer können nicht unter diesen Schieberegler, aber der Bereich des Schiebers ist nach wie vor von 0 bis 80.Legen Sie eine Grenze für den minimalen Wert für jQuery UI Slider

Hier ist mein Slider Skript:

$("#showslider").keyup(function (e){ 
$(".slider").slider("value", $("#showslider").val()); 
$("#slider-result").html($("#showslider").val()); 
$(".slider").slider({ 
animate: true, 
    range: "min", 
    value: 50, 
    min: 0, 
max: 80, 
step: 1, 
slide: function (event, ui) { 
$("#slider-result").html(ui.value); 
    $("#showslider").val(ui.value); 
}, 
change: function(event, ui) { 
    $('#hidden').attr('value', ui.value); 
    } 
}); 

Wenn Sie mich bitte durch Details führen können.

+0

Könnten Sie näher erläutern, wie Sie sich vorstellen, dass der Slider einen Wert zwischen 0 und 80 hat, wenn alles <20 ist? – pimvdb

+0

Es ist der Benutzerlevel, also können sie ihren Level verbessern, aber nicht degradieren. Und ich möchte, dass sie alle verfügbaren Ebenen sehen. – Siwa

Antwort

13

In der Funktion slide können Sie den Wert des Schiebereglers überprüfen, um festzustellen, ob er innerhalb des gewünschten Bereichs liegt.

if (ui.value < 20) // corrected 
    return false; 

Dies ist das Minimum bei 0 zu halten, aber jetzt Werte unter 20 erlauben, das ist, was ich denke, Siwa ist zu fragen. Wenn Sie einfach die Mindestanzahl von 20 festlegen möchten, ändern Sie min: 0 in min: 20.

This könnte möglicherweise nützlich sein.

0

Ändern Sie die max-Eigenschaft in Ihrem Code in 20. Example.

Aber wenn Sie ganze 100 Werte anzeigen möchten und Benutzer nur zwischen 0 und 20 gleiten können, sollten Sie an Ereignis Ihre Methode binden, whick würde Folie Position zu erlaubt zurückgeben, sobald Benutzer versucht, es zu ignorieren. Doc page.

0

Ich habe festgestellt, dass die folgende Folie Methode den unteren Wert auf 20 setzt, wenn man versucht, über 20 zu gleiten, anstatt den vorherigen Wert (eine Nummer etwas höher als 20) zu halten.