2013-11-20 87 views
0

這個問題發佈了幾次,我看了很多解決方案。dom準備好後執行javascript

我的問題:

我想加載DOM後執行setAccordionActiv(false)

function setAccordionActiv(paramActiv) { 
    if(paramActiv) { 
     $(".aui-toggler-content-wrapper").show(); 
    } else { 
     $(".aui-toggler-content-wrapper").hide(); 
    } 
} 

aui-toggler-content-wrapper是在Liferay中使用的AUI的一部分。

我試着使用:

另一份文件準備就緒(),因爲他們應該執行從連載這個問題

答案: forcing a jQuery ready block to run after all other ready blocks

這些都是在大多數問題的答案。

但是沒有爲我工作。

與此相反alert()沒有工作,所以aui-toggler-content-wrapper一定是原因。

如果我後來執行setAccordionActiv(false)例如通過按鈕點擊它確實有效。

任何幫助表示讚賞。

+0

只是包裝你的函數調用中的$(document)。就緒。這應該工作。 –

+0

所以你的問題是.aui-toggler-content-wrapper不存在文檔準備好嗎? – Alex

+0

是啊,有點。但該程序不會崩潰(空指針),而是跳過該命令。至少它看起來像。也許我應該改述我的概率。 – Wandang

回答

2
$(document).ready(function(){ 
setAccordionActiv(false); 
    ///////call function with ^^^parameter 


}); 
    function setAccordionActiv(paramActiv) { 
     if(paramActiv) { 
      $(".aui-toggler-content-wrapper").show(); 
     } else { 
      $(".aui-toggler-content-wrapper").hide(); 
     } 
    } 

參考.ready()

+0

這正是我已經有的... – Wandang

0
$(document).ready(function() { 
    function setAccordionActiv(paramActiv) { 
     if (paramActiv) { 
      $(".aui-toggler-content-wrapper").show(); 
     } else { 
      $(".aui-toggler-content-wrapper").hide(); 
     } 
    } 
    setAccordionActiv(paramActiv); 
} 

DOM ready

+0

這不適合我 – Wandang