我试图让我的代码更简洁(即,更少重复的代码)。我从我的主管那里得到了一些关于如何使我最近的代码更简洁的建议,但我不确定如何去做。
我有一些坐标用于检查用户是否在 div 的某个区域内单击。有人告诉我,我应该将所有坐标放在一个数组中,并在需要时“循环”以获取它们。我 - 想 - 我理解他的建议,但我不能完全理解它,因为我仍然缺乏编程经验。以下是我到目前为止所做的,以便您更好地了解正在发生的事情:
$("#div1").click(function(e)
{
// Arrays containing the x and y values of the rectangular area around a farm
// [minX, maxX, minY, maxY]
var div1_Coord_Area1= [565, 747, 310, 423];
var div1_Coord_Area2= [755, 947, 601, 715];
if(areaX >= Reg2_Coord_Farm1[0] && areaX <= Reg2_Coord_Farm1[1] && areaY >= Reg2_Coord_Farm1[2] && areaY <= Reg2_Coord_Farm1[3])
{
alert("You clicked in the first area");
}
if(areaX >= Reg2_Coord_Farm2[0] && areaX <= Reg2_Coord_Farm2[1] && areaY >= Reg2_Coord_Farm2[2] && areaY <= Reg2_Coord_Farm2[3])
{
alert("You clicked in the second area");
}
});
不要担心我如何计算;我把那个代码从方法中去掉了,因为它基本上是不相关的,但如果你想知道的话,它就在那里。
我为每组坐标制作了一个数组,然后简单地调用它们。然而,这并不是“循环”一个充满每个区域所有坐标的巨型阵列。你能想出一种方法来做到这一点,还是我目前能做的最好的?