我非常非常非常新手,但是当我在我的函数中添加一个简单的if语句时,我似乎打破了我的页面/函数。
完美无缺:
$(function() {
var i = 0;
while (i <= 71) {
i++;
var linky = "modal" + i;
$( "#dialog-form" + i ).dialog({
autoOpen: false,
height: 400,
width: 475,
linky: true,
buttons: {
Cancel: function() {
$( this ).dialog( "close" );
linky: false;
}
},
close: function() {
linky: false;
}
});
}
打破页面:
$(function() {
var i = 0;
while (i <= 71) {
i++;
var linky = "modal" + i;
$( "#dialog-form" + i ).dialog({
autoOpen: false,
if( i <= 8 ) {
height: 300,
width: 350,
} else {
height: 400,
width: 475,
}
linky: true,
buttons: {
Cancel: function() {
$( this ).dialog( "close" );
linky: false;
}
},
close: function() {
linky: false;
}
});
}
如果id低于9,只是尝试使高度和宽度更小但是我似乎无法在不破坏功能的情况下这样做。
答案 0 :(得分:2)
您不只是在函数中放置if
,而是在{j}对象的中间放置if
。
这是一个有效的javascript对象:
{
key1: 1,
key2: 2,
key2: 3
}
但是你无法在这个对象的中间添加控制流语句(如if
,for
,while
,switch
),如下所示:
{
key1: 1,
if (true) { // ERROR
key2: 2,
}
key2: 3
}
你可以通过
实现你想要的height
和width
的选项对象。if
并为height
和width
添加正确的值。$( "#dialog-form" + i ).dialog(options)
:像这样:
//STEP 1
var dialogOptions = {
autoOpen: false,
linky: true,
buttons: {
Cancel: function () {
$(this).dialog("close");
linky: false;
}
},
close: function () {
linky: false;
}
};
//STEP 2
if (i <= 8) {
dialogOptions.height = 300;
dialogOptions.width = 350;
} else {
dialogOptions.height = 400;
dialogOptions.width = 475;
}
//STEP 3
$("#dialog-form" + i).dialog(dialogOptions);