我有一些我找不到的elsif语句错误:
我的JSfiddle:
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
});
});
答案 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语句更清晰。