我有如下的JavaScript代码-
function initPage(){
// Left Navigation Pane - moverOver effect:
document.getElementById("imgHowToBuy").onmouseover = leftNavHoverIn;
document.getElementById("imgNewAddition").onmouseover = leftNavHoverIn;
document.getElementById("imgMostPopular").onmouseover = leftNavHoverIn;
document.getElementById("imgOffer").onmouseover = leftNavHoverIn;
document.getElementById("imgRecentlySold").onmouseover = leftNavHoverIn;
.....
}
基本上,我的代码可以正常工作(该函数被调用并执行精美)。但是我不认为我在这里使用最佳实践的原则。继续调用相同的函数看起来有些奇怪。我可以以某种方式将元素的id作为参数传递,然后执行函数,以便将整个事情简化为一行代码吗?
我是一个自学成才的JS家伙:D
谢谢!
最佳答案
您不是在“调用相同的函数”,而是只是将一个函数分配给页面上的许多元素。我在这里没有发现任何特别错误的地方。
您可以存储要将此函数分配给的所有元素的ID,这将减少代码行的数量,但是没有特定的原因。
var leftNavElements = ["imgHowToBuy","imgNewAddition"]; // etc....
for(var i=0;i<leftNavElements.length;i++){
document.getElementById(leftNavElements[i]).onmouseover = leftNavHoverIn;
}