我应该在哪里存储javascript中的窗口维度?
我弹出各种不同尺寸的Telerik RadWindow,根据所选项目的类型而定。每种类型的项目都有自己的编辑表单,单击时会弹出,因此我需要在Javascript中设置不同的窗口高度和宽度。现在我正在使用这个函数,每个类型的尺寸都是硬编码的:我应该在哪里存储javascript中的窗口维度?,javascript,Javascript,我弹出各种不同尺寸的Telerik RadWindow,根据所选项目的类型而定。每种类型的项目都有自己的编辑表单,单击时会弹出,因此我需要在Javascript中设置不同的窗口高度和宽度。现在我正在使用这个函数,每个类型的尺寸都是硬编码的: function GetEditWindowDimensions(type) { var dimensions = null; switch (type) { case 'Typ
function GetEditWindowDimensions(type) {
var dimensions = null;
switch (type) {
case 'Type1':
dimensions = { length: 330, width: 400 };
break
case 'Type2':
dimensions = { length: 550, width: 450 };
break;
case 'Type2':
dimensions = { length: 260, width: 400 };
break;
case 'Type3':
dimensions = { length: 260, width: 400 };
break;
case 'Type4':
dimensions = { length: 260, width: 400 };
break;
case 'Type5':
dimensions = { length: 330, width: 400 };
break;
default:
dimensions = { length: 500, width: 500 };
}
return dimensions
}
下面是我加载RadWindow的函数:
function OpenEditWindow(type) {
var oDimensions = GetEditWindowDimensions(type)
var oWindow = openWindow('myurl.aspx', oDimensions.length, oDimensions.width, true);
oWindow.MoveTo(200, 25);
}
必须有更好的方法来做到这一点。您对如何在Javascript中以可配置的方式存储/检索这些维度有何想法?类型本身由项目中.vb文件中的枚举定义。我将枚举值名称传递给GetEditWindowDimensions()
提前谢谢 您可以将其存储在如下对象中:
var dimensions = {
'Type1': { length: 330, width: 400 },
'Type2': { length: 550, width: 450 },
'Type3': { length: 260, width: 400 }
}
然后像这样访问它们
dimensions.type1.length; // <-- 330
dimensions.type1.width; // <-- 400
dimensions.type1.length;// 您可以将其存储在如下对象中:
var dimensions = {
'Type1': { length: 330, width: 400 },
'Type2': { length: 550, width: 450 },
'Type3': { length: 260, width: 400 }
}
然后像这样访问它们
dimensions.type1.length; // <-- 330
dimensions.type1.width; // <-- 400
dimensions.type1.length;// 为什么不创建一个散列呢
var dWindowDimensions = }
Type1: { length: 330, width: 400 },
Type2: { length: 550, width: 450 },
...
}
然后,当您需要读取值时:
var oDimensions = dWindowDimensions[type]
为什么不创建一个散列呢
var dWindowDimensions = }
Type1: { length: 330, width: 400 },
Type2: { length: 550, width: 450 },
...
}
然后,当您需要读取值时:
var oDimensions = dWindowDimensions[type]
只需像这样存储它们:
dimensions = {
Type1: {
length: 330,
width: 400
},
...
...
Type5: {
length: 330,
width: 400
}
};
然后您可以通过执行dimensions.Type1
或dimensions[type]
来访问它们(如果您正在动态查找它们)。对于默认情况,只需检查您尝试访问的维度是否未定义
。如果是,请使用默认的长度和宽度。例如:
var dimension = dimensions[type];
if(typeof dimension === "undefined") {
dimension = {
length: 500,
width: 500
};
}
或者更简洁地说:
var dimension = dimensions[type] || {length: 500, width: 500};
如果第一个值不是“truthy”,则将使用第二个值(在|
之后的值)。只需按如下方式存储它们:
dimensions = {
Type1: {
length: 330,
width: 400
},
...
...
Type5: {
length: 330,
width: 400
}
};
然后您可以通过执行dimensions.Type1
或dimensions[type]
来访问它们(如果您正在动态查找它们)。对于默认情况,只需检查您尝试访问的维度是否未定义
。如果是,请使用默认的长度和宽度。例如:
var dimension = dimensions[type];
if(typeof dimension === "undefined") {
dimension = {
length: 500,
width: 500
};
}
或者更简洁地说:
var dimension = dimensions[type] || {length: 500, width: 500};
如果第一个值不是“truthy”,则将使用第二个值(在|
之后的值)。谢谢您的回答!非常有帮助。谢谢你的回答!非常有帮助。