需求

2012-02-16 46 views
-1

我的問題Overwritting JavaScript函數變量與能夠覆蓋一個函數中而不是在功能上的每個召回聲明的變量做。下面是我的解釋:需求

比方說,我有三個HTML元素加載頁面時:

<div id="1"></div> 
<div id="2"></div> 
<div id="3"></div> 
<div id="4"></div> 

我然後運行一個javascript函數操縱這些元素和應用功能的「的OnMouseMove」事件。在函數調用但是也有一些聲明,不應該以保持獨特的元素變量值覆蓋(否則鼠標移動將被覆蓋,並且將只對最後一個元素工作)變量。我知道這可以通過聲明局部變量來實現。

我的問題是下一部分:

在此之後已經全部完成,然後我有一個觸發的初始功能,它在最初運行在相同的元素上再次運行頁面上的其他活動,但與不同值,現在不得不覆蓋原稿。我會發布代碼,但它是幾千行代碼,所以我希望你們都明白我在說什麼。

我想我可以通過複製函數和聲明不同的變量來解決這個問題,但這將意味着有一個大塊代碼的兩個副本,這從來不是一個好主意,在我看來,我想避免這一點。

謝謝!

+0

你的描述你應該只需要不到10行的代碼。請複製相關部分,以便我們幫助您。 – caleb 2012-02-16 00:24:23

+1

可能是嘗試後你有什麼簡化(一個簡單的例子),並嘗試實現 – Jaime 2012-02-16 00:25:00

+0

是的,我想這將是很難解釋/理解。我會嘗試寫一個簡化版本併發布。謝謝大家。 – aelisenko 2012-02-16 18:14:39

回答

0

所以我想通了,如何實現我想要的東西。我將我的代碼重新編譯爲Objects。當我運行代碼最初每個元件具有帶有可變全局變量它自己的對象(窗口[元件+「OBJ」])來操縱與原型方法的元件,這使各元素的值分開,然後當我需要重寫的值一個特定的元素,我調用一個方法來重置該對象的所有值。以後我會嘗試發佈一些示例代碼,以供遇到此問題的任何人使用。

謝謝!