Jquery使用滑块添加和删除类

Jquery使用滑块添加和删除类,jquery,styles,slider,apply,Jquery,Styles,Slider,Apply,我有下面的slider代码,现在我需要使用max和min值为元素添加和删除css 这就是我所拥有的: $( "#audioslider" ).slider({ orientation: "vertical", range: "min", min: 0, max: 100, value: 60, slide: function( event, ui ) { var valu

我有下面的slider代码,现在我需要使用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')
            }
        }
    });
如果是最小值,则添加类,但如果大于最小值,则不添加。 那我该怎么做呢?

你的意思是这样

if(value < 1){
    $('.volumeon').addClass('volumeoff');
    $('.volumeon').removeClass('volumeon');
 }else {
    $('.volumeoff').addClass('volumeon');
    $('.volumeoff').removeClass('volumeoff');
 }
if(值<1){
$('.volumeon').addClass('volumeoff');
$('.volumeon').removeClass('volumeon');
}否则{
$('.volumeoff').addClass('volumeon');
$('.volumeoff').removeClass('volumeoff');
}
你是说这样吗

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

它看起来更像是一个输入错误——您正在将
与文本“max”进行比较,而不是一个变量。把那行改成


}否则,如果(value==100){
它看起来像是一个打字错误--您将
value
与文本“max”进行比较,而不是一个变量。只需将该行更改为


}否则,如果(值==100){

似乎逻辑有点不正确

如果该值大于等于100,则音量打开;如果该值为0,则音量关闭。如果该值大于0,则音量不会打开吗

正如Andy提到的,您将var值与字符串“max”进行比较,而不是实际的预期max,后者是slider的一个属性

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

本质上就是这段代码

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

似乎逻辑有点不正确

如果该值大于等于100,则音量打开;如果该值为0,则音量关闭。如果该值大于0,则音量不会打开吗

正如Andy提到的,您将var值与字符串“max”进行比较,而不是实际的预期max,后者是slider的一个属性

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

本质上就是这段代码

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

如果您将volumeon类添加到.volumeon,它将不会起任何作用,因为该类必须存在,您才能选择元素。您需要删除“off”类。@Matthew-我也尝试过这种方法,但都不适用。抱歉,伙计们!我在垂直滑块上遇到问题,我已将其更改为水平。现在是wo很好。如果您将volumeon类添加到.volumeon,它将不会做任何事情,因为该类必须在那里,您才能选择元素。您需要删除“off”类。@Matthew-我也尝试过这种方法,但都不适用。抱歉,伙计们!我对垂直滑块有问题,我已将其更改为水平滑块。现在它工作得很好。@Andy你是对的,我试着用它,但它不起作用,后来改成了这种方式,但这也是一样的。@Andy你是对的,我试着用它,但它不起作用,后来改成了这种方式,但这也是一样的。@safarov Your's离这条路很近,但一旦它起作用,这条路就变得一团糟了她的时间没有。萨法罗夫·尤尔(safarov Your's)离这条路很近,但它曾经应用过,而另一次却没有。