2013-10-17 71 views
0

我一直在試圖圍繞着我的頭繞過Javascript,一直在尋找一種方法,使其成爲一個隻影響DOM元素的函數(我也通過createElement )目前正在徘徊。我試過.target和currentTarget的東西,沒有工作。如果任何人都可以做到讓我指向正確的方向,我會永遠感激!我如何合併這些相似的功能到一個

/* This first function is the experimental one, I tried this but to no avail */ 
function displayTooltip1(tt) { 
    var x = tt.currentTarget; 
    x.style.cssText = "width: 100px; height: 100px; display: inline-block; margin: 0;1.5px 0 1.5px; overflow: visible;" 
} 

function displayTooltip2() { 
    document.getElementById('image2').style.cssText = "width: 100px; height: 100px; display: inline-block; margin: 0 1.5px 0 1.5px; overflow: visible;"; 
} 

function displayTooltip3() { 
    document.getElementById('image3').style.cssText = "width: 100px; height: 100px; display: inline-block; margin: 0 1.5px 0 1.5px; overflow: visible;"; 
} 

回答

0

只需傳遞組件的id並通過該組件獲取組件。

使用如下:

function displayTooltip(componentId) { 
    document.getElementById(componentId).style.cssText = "width: 100px; 
    height: 100px; display: inline-block; margin: 0 1.5px 0 1.5px; overflow: visible;"; 
    } 
+0

但是,請原諒我這樣問:我會如何使這種動態?我會用什麼來代替'componentId'?由於有8個不同的ID。在調用函數時調用目標的ID號爲 –

+0

。例如懸停目標 –

+0

您可以在創建動態元素時指定onmouse的功能。看看http://stackoverflow.com/questions/6186065/element-id-on-mouse-over –

0

正如我所看到的,所有的功能做同樣的事情,但有不同的元素,這樣就可以使一個功能,將接受元素的ID,使風格隨着該元素的變化:

function displayTooltip(id){ 
    document.getElementById(id).style.cssText = "width: 100px; 
    height: 100px; display: inline-block; margin: 0 1.5px 0 1.5px; overflow: visible;"; 
} 

displayTooltip(tt); 
displayTooltip('image2'); 
displayTooltip('image3'); 
+0

嗨,首先感謝您的麻煩!其次,我如何讓它識別哪一個正在激活該功能?即哪個參數值可供選擇? –

+0

這很簡單,你需要使用元素的ID,你想改變的風格 – Epsil0neR

+0

像魅力一樣工作! –

相關問題