2012-03-29 11 views
0

Ich habe den folgenden Code für Slider und jetzt muss ich hinzufügen und entfernen CSS für ein Element mit den Max und Min-Wert. DieseJquery Hinzufügen und Entfernen von Klasse mit Schieberegler

ist, was ich habe:

$("#audioslider").slider({ 
     orientation: "vertical", 
     range: "min", 
     min: 0, 
     max: 100, 
     value: 60, 
     slide: function(event, ui) { 
      var value = $("#audioslider").slider("value"); 
      document.getElementById("audio").volume = (value/100); 
      if(value == 0){ 
      $('.volumeon').addClass('volumeoff') 
      }else if(value >= "max"){ 
      $('.volumeon').addClass('volumeon') 
      } 
     } 
    }); 

Und wenn es min seine die Klasse hinzugefügt, aber nicht hinzufügen, wenn seine mehr als Minimalwert. Also, wie mache ich das?

+0

Wenn Sie eine Klasse von volumeon zu .volumeon hinzufügen, wird nichts ausgeführt, da die Klasse vorhanden sein müsste, damit Sie das Element auswählen können. Sie müssen stattdessen die Klasse "off" entfernen. –

+0

@ Matthew-Ich habe es auch so versucht, aber entweder es nicht galt. – coder

+0

Sorry Jungs! Ich hatte ein Problem mit dem vertikalen Schieberegler und ich habe es in horizontal geändert. Jetzt funktioniert es gut. – coder

Antwort

1

Sie meinen so?

if(value < 1){ 
    $('.volumeon').addClass('volumeoff'); 
    $('.volumeon').removeClass('volumeon'); 
}else { 
    $('.volumeoff').addClass('volumeon'); 
    $('.volumeoff').removeClass('volumeoff'); 
} 
+0

@ Safarov-Ihr ist in der Nähe des Weges, aber es war etwas chaotisch, dass es einmal angewendet und das andere Mal es nicht tut. – coder

+0

Versuchen Sie 'Wert <1' – safarov

+0

Aktualisierter Code, überprüfen Sie – safarov

1

Es sieht meist wie ein Tippfehler - Sie value mit dem Text „max“ und nicht einer Variablen vergleichen. Ändern Sie einfach die Zeile zu

}else if (value == 100){

+0

@ Andy-Sie haben Recht, ich habe versucht, das anzuwenden, aber es hat nicht funktioniert und später auf diese Weise geändert, aber das war auch das gleiche. – coder

1

Scheint, wie die Logik ein bisschen ausgeschaltet ist.

Volume ist eingeschaltet, wenn der Wert> = 100 ist, aber aus, wenn es 0 ist? Wäre die Lautstärke nicht aktiviert, wenn sie größer als 0 ist?

Wie Andy erwähnt, vergleichen Sie den var-Wert mit einer Zeichenkette 'max' und nicht mit dem tatsächlichen Maximalwert, der eine Eigenschaft des Sliders ist.

In jedem Fall mit der gegebenen Logik. Sie sollten eine remove-Klasse für 'volumeOn' erstellen und die 'volumeOff'-Klasse hinzufügen, wenn der Wert gleich 0 ist. Wenn value> = 100 ist, sollten Sie das Gegenteil tun und' volumeOff 'entfernen. und fügen Sie 'volumeOn' hinzu.

Im Wesentlichen dieses Bit des Codes.

Verwandte Themen