Jquery使用滑块添加和删除类

时间:2012-03-29 19:54:43

标签: jquery styles slider apply

我有下面的滑块代码,现在我需要使用max和min值为元素添加和删除css。

这就是我所拥有的:

   $( "#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')
            }
        }
    });

如果它是最小的它添加类但不添加如果它大于最小值。 那我该怎么做呢?

3 个答案:

答案 0 :(得分:1)

你的意思是这样吗?

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

答案 1 :(得分:1)

它看起来像一个拼写错误 - 您将value与文本“max”进行比较而不是变量。只需将该行更改为

即可

}else if (value == 100){

答案 2 :(得分:1)

似乎逻辑有点偏。

如果值>> 100,则音量打开,但如果值为0则打开音量?如果音量大于0,音量不会开启吗?

正如Andy所说,你将var值与字符串'max'进行比较,而不是实际的预期最大值,即滑块的属性。

在任何情况下都有给定的逻辑。您将要在'volumeOn'上执行删除类,并在值等于0时添加'volumeOff'类。在值> gt = 100的情况下,您将要执行相反的操作,删除'volumeOff '并添加'volumeOn'。

基本上是这段代码。

if(value == 0){
  $('.volumeon').addClass('volumeoff').removeClass('volumeon');
} else if(value >= 100){
  $('.volumeoff').addClass('volumeon').removeClass('volumeoff');
}