在我的循环中使用x正确分配ID,但是当我尝试使用x分配数组函数时,它会抛出错误'此方法未定义'。我只是想知道如何正确构建这种类型的动态mousover?任何帮助都会很棒!非常感谢,乔
for (x = 0; x < mapEastData.length; x++) {
$('#marker' + x).on({
mouseenter: function () {
mapEastMarkers[x].setVisible(true);
},
mouseleave: function () {
mapEastMarkers[x].setVisible(false);
}
})
}
答案 0 :(得分:2)
我会选择使用类而不是id来触发你的悬停。
所以请使用一个班级,说marker-class
作为你的悬停选择器。
然后在mouseenter / mouseleave函数中,您应该能够使用以下内容访问该确切元素的id:
$(this).attr('id').replace("marker" , "")
替换然后清除ID,以便您最终得到ID号。
我希望这对你有意义。我认为你当前代码的问题是mouseenter / leave函数不知道var X是什么。如果您想坚持使用当前的方法,可能需要将x参数传递给这些函数。