2014-11-21 96 views
0

我無法解決導致我的腳本失敗的問題。jquery隱藏顯示工作不正常

Here是我使用的代碼。 雖然它在JsFiddle中完美地工作,但當我在我的站點中實現它時,它根本不起作用。

<head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
    <script> 
    $("#overlay").hide(); 
    $("#work").click(function(e){ 
     $("#overlay").toggle(); 
     e.stopPropagation(); 
    }); 
    $(document).click(function(){ 
     $("#overlay").hide(); 
    }); 
    $("#overlay").click(function(e){ 
     e.stopPropagation(); 
    }); 
    </script> 
    </head> 

    <body> 
    <div id="work"></div> 
    <div id="overlay"><iframe width="100%" height="100%" src="//www.youtube.com/embed/uQFGkGk4PSc" frameborder="0" allowfullscreen></iframe></div> 
    </body> 

Link to site

謝謝!

+0

任何內容的加載與AJAX? – 2014-11-21 15:27:02

+0

你確定你鏈接到jquery.js嗎? – 2014-11-21 15:31:23

+0

檢查您是否包含jQuery庫。 – thecodeparadox 2014-11-21 15:31:34

回答

2

你只需要來包裝你這樣的代碼:

$(document).ready(function() { 

    $("#overlay").hide(); 
    $("#work").click(function(e){ 
     $("#overlay").toggle(); 
     e.stopPropagation(); 
    }); 
    $(document).click(function(){ 
     $("#overlay").hide(); 
    }); 
    $("#overlay").click(function(e){ 
     e.stopPropagation(); 
    }); 

}); 

在默認情況下,小提琴運行該代碼上onLoad,你是把它放在<head>。您可以在左上角設置選項。我把它改成in <head>,它不是在那裏工作之一:http://jsfiddle.net/N9cbk/8/

瞭解更多關於$(document).ready()這裏:http://learn.jquery.com/using-jquery-core/document-ready/

+1

上面的codeparadox的版本是這個的簡短版本,它們都是正確並且都將工作。確切地說,是 – 2014-11-21 15:35:40

+1

。因爲這個,我使用了更長的版本:_如果你正在編寫的代碼是那些對jQuery沒有經驗的人可能會看到的,那麼最好使用長表單._它來自我鏈接到的jQuery文檔。 – balzafin 2014-11-21 15:37:50

+0

我知道,我寫了我對OP好處的評論:) – 2014-11-21 15:39:11