2013-01-14 30 views
0

在我的循環ID是用x正確分配的,但是當我嘗試用x分配一個數組函數時,它會拋出一個錯誤'this method is undefined'。我只是想知道如何正確構建這種類型的動態混淆?任何幫助將是驚人的!非常感謝,喬設置jQuery的mouseovers訪問數組鍵在JavaScript循環?

for (x = 0; x < mapEastData.length; x++) { 
    $('#marker' + x).on({ 
     mouseenter: function() { 
      mapEastMarkers[x].setVisible(true); 
     }, 
     mouseleave: function() { 
      mapEastMarkers[x].setVisible(false); 
     } 
    }) 
} 
+2

你可以發佈你的HTML,因爲這似乎是一個非常奇怪的方式附加處理程序。你能不能有一個'class'來指定一個處理程序,然後遍歷DOM來獲取相關的'mapEastMarkers'元素? –

+0

感謝聽起來像一個更好的方式來做到這一點 – Joe

+0

嘿喬你爲什麼不把你的HTML標記,Heeey喬聽羅裏說什麼... :) – kidwon

回答

2

我會選擇使用類而不是id來觸發你的懸停。

所以使用一個類,比如說marker-class作爲懸停選擇器。

然後在的mouseenter /鼠標離開功能,你應該能夠獲得訪問使用喜歡的事,確切元素的ID: ​​

替換然後清洗所以你最終與ID號的ID。

我希望這對你有意義。我認爲你當前的代碼的問題是mouseenter/leave函數不知道var X是什麼。如果你想堅持你目前的方法,你可能需要將你的x參數傳遞給這些函數。