2011-09-21 37 views
-2

下面的函數被用在兩個.php文檔中。該代碼在第一個文檔中工作得很好,但在第二個文檔中它只執行(mode ==「on」)條件中的前兩個賦值語句。爲什麼JavaScript在這種情況下不能正確執行此塊?

在第一個文檔中,「popoutfg」是在父窗口中找到的iframe。 在第二個文檔中,「popoutfg」是位於父窗口中的另一個iframe中的iframe。

所以基本上問題是在第二個它只執行這兩個:temp1.style.visibility="visible";temp2.style.visibility="visible";

請謝謝! = 3

function popout(mode, links, width, height, paddingh, paddingv) 
{ 
    var temp1 = document.getElementById("popoutfg"); 
    var temp2 = document.getElementById("popoutbg"); 
    if(mode == "on") 
    { 
     temp1.style.visibility = "visible"; 
     temp2.style.visibility = "visible"; 
     temp1.style.width = width; 
     temp1.style.height = height; 
     temp1.style.left = paddingh; 
     temp1.style.right = paddingh; 
     temp1.style.top = paddingv; 
     temp1.style.bottom = paddingv; 
     temp1.src = links; 
    } 

    if(mode == "off") 
    { 
     temp1.style.visibility = "hidden"; 
     temp2.style.visibility = "hidden"; 
    } 
} 
+1

然後,你可能有一個JavaScript錯誤。你有沒有看錯誤控制檯或調試器控制檯,看看它說什麼?你確定temp1和temp2是有效的嗎?這一行上的'>'字符是什麼:'> temp1.style.visibility =「visible」;'? – jfriend00

+0

我不希望'document.getElementById()'在從父頁面調用時在父頁面的iframe中查找元素時工作。你確定那部分工作正常嗎? (如果在''alert'(temp1.id);'?'之前'你會得到什麼?') – nnnnnn

+0

@jfriend - 哦對不起,這是我在複製代碼時做的一個錯誤。我對輸入事物的方式感到困惑。 那麼確定temp1是vailid,因爲它確實將iframes可見性更改爲可見,只是沒有設置樣式屬性的其餘部分。 – AccidentallyC

回答

0

添加

alert(width); 

之前

temp1.style.width = width; 

無效參數錯誤表明,您沒有設置寬度參數合法。如果這無助於讓我知道您在警報中看到的價值,我們將嘗試進一步調查。

相關問題