JavaScript if/elsif语句错误

JavaScript if/elsif statement bug

本文关键字:语句 错误 elsif if JavaScript      更新时间:2023-09-26

我有一些我找不到的elsif语句错误:

我的JSfiddle:

http://jsfiddle.net/z3xV3/64/

Jquery:

$('#slider1, #slider2, #slider3, #slider4, #slider5').bind('slide', function (event, ui)
{
    var num = this.id.replace('slider','');
if(parseInt(num) == 1) {
        $label = $('#boksTimer' + num).html( (ui.value / 31 * 60).toFixed(0) + ' GODT' );
}
elseif(parseInt(num) == 2) {
        $label = $('#boksTimer' + num).html( (ui.value / 31 * 60).toFixed(0) + ' SUPER' );
}
else {
        $label = $('#boksTimer' + num).html( (ui.value / 31 * 60).toFixed(0) + ' min pr. dag' );
}
        $thumb = $(this).children('.ui-slider-handle');
    $label.css({
        top: $label.outerHeight(true),
        left :$thumb.position().left - ( $label.width() - $thumb.width() ) / 2
    });
});

elseif不是关键字
你需要一个空间。

假设else和如果else if(parseInt(num) == 2) { 之间存在空格

虽然@SLaks向您解释了为什么您的代码不起作用,但我认为您应该使用以下代码:

var text = ['GODT', 'SUPER'];
$('#slider1, #slider2, #slider3, #slider4, #slider5').bind('slide', function (event, ui)
{
    var num = parseInt( this.id.replace('slider','') ),
        $thumb = $(this).children('.ui-slider-handle'),
        $label = $('#boksTimer' + num)
                    .html( (ui.value / 31 * 60).toFixed(0) + ' ' + (text[num - 1] || 'min pr. dag') );  
    $label.css({
        top: $label.outerHeight(true),
        left :$thumb.position().left - ( $label.width() - $thumb.width() ) / 2
    });
});

它比一大堆if语句要干净得多。

小提琴在这儿:http://jsfiddle.net/z3xV3/68/