JavaScript if / elsif语句错误

时间:2012-01-25 02:38:37

标签: javascript jquery

我有一些我找不到的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
    });
});

3 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:2)

theres假设是else和else if(parseInt(num) == 2) {

之间的空格

答案 2 :(得分: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/