2015-09-22 71 views
0

我使用的是從這裏通知JS:通知JS將元素選擇器不工作100%

http://notifyjs.com/

這是我的HTML:

<div> 
    <p><span class="elem-demo">aaaa</span></p> 
    <script> 
     $(".elem-demo").notify(
     "Hello Box", 
     { 
      autoHide:false 
     } 
    ); 
    </script> 
    </div> 

它不工作正確。我可以看到箭頭,但沒有看到消息。

我已經檢查過使用我的瀏覽器「檢查元素」,類notifyjs-container有「display:none」,當我嘗試通過我自己的css將其改爲「display:inline」時,消息確實出現,但沒有它的動畫。

有人可以幫忙嗎?

在這裏,我附上的小箭頭的形象我前面說:

Arrow

+1

嘗試把'notify'的文檔準備,即內部設置:'$(函數(){$(」 ELEM-演示。 「)通知(」。你好「);});' –

+0

哦哇,它的工作原理,謝謝,你能解釋爲什麼會發生這種情況嗎?以及你的解決方案是如何工作的?,如果你沒事的話,請把它寫成答案,這樣我就可以打勾。 ^^ –

回答

0

你需要把notify設置的文檔準備內部,即:

$(function() { 
    $(".elem-demo").notify("Hello"); 
}); 

發生了什麼是.notify()腳本在頁面完全呈現之前正在運行,所以.elem-demo$(".elem-demo")試圖找到它時不存在,所以.notify()沒有任何附加功能。

$(function() { ... 

是簡寫

$(document).ready(function() { ... 

這是說的jQuery的方式 - 直到頁面元素已經完全裝完不運行此腳本。

將所有的腳本放入這樣一個就緒函數通常是一個好主意(可以調用多個$(function() { ...,它們不需要全都在同一個函數中)。

jQuery的學習頁面上更多信息:https://learn.jquery.com/using-jquery-core/document-ready/