2013-01-20 51 views
0

我測試this fiddle通過@Ilan Biala的jsfiddle代碼工作,但在演示頁面的時候是不是

書面使用jQuery的1.9.0onDomReady標準化CSS,你可以它增加了一個子菜單中的菜單請參閱jsfiddle。 比如html的是:

<nav> 
    <ul> 
     <li><a href="#" >Sec1</a></li> 
     <li><a href="#" >Sec2</a></li> 
     <li><a href="#" class="current">Sec3</a></li> 
     <li><a href="contacto.html" >Sec4</a></li> 
     <ul class="menu"> 
      <li><a href="#" class="documents" data-icon="&#xe000">Documents</a></li> 
      <br> 
      <li><a href="#" class="messages" data-icon="&#xe001">Messages</a></li> 
      <br> 
      <li><a href="#" class="signout" data-icon="&#xe002">Sign Out</a></li> 
     </ul> 
    </ul> 
</nav> 

結果是:

enter image description here

但有一個問題,我加入了代碼到一個server I have access,並添加行:

<link rel="stylesheet" type="text/css" href="css/menu.css" /> 
<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script> 
<script type="text/javascript" src="js/menu.js"></script> 

模仿jsfiddle中的那些。該html是:

<!doctype html> 
<head> 
<title>Example</title> 
<link rel="stylesheet" type="text/css" href="css/menu.css" /> 
<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script> 
<script type="text/javascript" src="js/menu.js"></script> 
</head> 
<body> 
<nav> 
    <ul> 
     <li><a href="#" >Sec1</a></li> 
     <li><a href="#" >Sec2</a></li> 
     <li><a href="#" class="current">Sec3</a></li> 
     <li><a href="contacto.html" >Sec4</a></li> 
     <ul class="menu"> 
      <li><a href="#" class="documents" data-icon="&#xe000">Documents</a></li> 
      <br> 
      <li><a href="#" class="messages" data-icon="&#xe001">Messages</a></li> 
      <br> 
      <li><a href="#" class="signout" data-icon="&#xe002">Sign Out</a></li> 
     </ul> 
    </ul> 
</nav> 
</body> 
</html> 

所以,你可以看到子菜單不工作,可能會導致毛刺?

我懷疑不同的問題:

  1. 也許這包代碼,以便它會在onDomReady窗口事件運行,如果是的話我如何指示onDomReady財產上的代碼:

    $(document).ready(function(){ //將所有JS代碼添加到menu.js中 });

  2. 標準化的CSS,但畢竟是suposed使復位....

  3. 即使世界是jQuery的1.9.0的問題,也許是爲了使用的JS都放在...

您怎麼看?

回答

1

看到相同的小提琴此處修改你想要的東西的工作:JS Fiddle Link

它,您張貼完全相同的小提琴,只是onDomReady設置爲「無包裝(頭)」和JavaScript代碼包在ready功能。這使它可以與你發佈的HTML一起工作。

// jQuery(document).ready(function($) { 
jQuery(function($) { 
.... 
// your code 
}); 

所以,作爲一個答案,當你的jQuery在html文件head標籤加載,你需要在readyfunction

2

是的你是對的;

onDomReadycode是:

$(document).ready(function(){ 
//your code 
}) 

如果你的jsfiddle改變事件身體包裹它不會工作。

+0

使用jQuery的.ready() API和包裝所有的代碼對任何DOM操作所以,如果我知道我應該把 ''在HTML,或在menu.js我做 '$(document).ready(function(){ // menu.js functions })' 哪個選項? – cMinor

+0

打開menu.js,並在開始$(document).ready(function(){和文件末尾}處寫入文件頂部); –

相關問題