2011-04-25 61 views
0
<script type="text/javascript" src="<?php echo $this->baseurl; ?>/templates/mytemplate/javascript/min.js"></script> 
<script type="text/javascript"> 
           var mooTrans= Fx.Transitions.<?php echo $this->params->get('transition','Sine.easeOut') ?>; 
           window.addEvent('domready',function(){ 
           new SmoothScroll({ duration: 500, transition: Fx.Transitions.linear}, window); 
           }); 
           </script> 

,這是在min.js文件中的代碼:不過,我得到這個錯誤如何解決「Window.onDomReady不是函數」的問題?

Window.onDomReady(function() {new DropdownMenu($E('#hornav ul.menu'))}); 

:Window.onDomReady不是一個函數。

你能幫我理解我在做什麼錯嗎? Thanx

回答

4

看來你正在使用MooTools的框架,並在代碼中存在的addEvent呼籲domready中事件:

window.addEvent('domready',function(){ 
    new SmoothScroll({ duration: 500, transition: Fx.Transitions.linear}, window); 
}); 

在你min.js文件,您可以使用相同的方法:

window.addEvent('domready',function(){ 
    new DropdownMenu($E('#hornav ul.menu'))} 
}); 
2

首先,沒有Window但只有window。那麼沒有onDomReady屬性。雖然可能有ondomready。但是,最好使用實際的綁定。

jQuery和其他JavaScript框架通過爲其提供幫助器方法使其變得非常簡單,例如, $(document).ready(...);

1

您正在使用MooTools。用於收聽domready中事件的正確方法是如下:

window.addEvent('domready',function() {new DropdownMenu($E('#hornav ul.menu'))}); 
-1

從的Joomla 1.5至2.5升級後,我遇到了這個問題。當我使用Firefox的工具>開發人員> Web控制檯來檢查錯誤時,它是由Joomla 1.5的不正確JS代碼引起的。當我去編輯代碼時,我看到了Joomla 2.5 JS代碼。我在瀏覽器中查看了validate.js文件的來源,並刷新頁面以從服務器獲取非緩存文件。這對我有效。所以這是一個緩存問題。