2010-06-12 45 views
0

試過做http://davidwparker.com/2008/09/17/site-wide-announcements-in-rails-using-jquery-jgrowl/JS和Rails現場廣告公告

對JS真的很不好。認爲我搞亂了最後一部分,它說:「這段代碼進入你的application.js文件($(function){// here}某處))」

我是不是想做一個link_to_function並創建一個引用該鏈接的代碼的函數?

真的失去了這一個。

更新 -

的application.js看起來像

$(document).ready(function() { 
    $.jGrowl.defaults.closer = true; 
     $("#announcements_box").css("display", "none"); 
     $("#announcements_box .announcement").each(function(){ 
     $jQuery.jGrowl(this.textContent,{ sticky:true, close:function(e,m,o){hide_announcements();} }); 
     }); 

}); 

function hide_announcements(){ 
    $.get(
     '/hide_announcements' 
    ); 

    $("#announcements_box").fadeOut(); 
    return false; 
    } 

而且我application.html.erb有

<% unless current_announcements.empty? %> 
<div id="announcements_box"> 
<% for announcement in current_announcements %> 
    <div id="announcement_<%= announcement.id.to_s %>" class="jGrowl"> 
    <%= announcement.message %> 
    <%= link_to "Hide Annoucements", hide_announcements_path, :id => 'hideAnn'%> 
    </div> 
<% end %> 
</div> 
<% end %> 

回答

0

而我的罪魁禍首是當我需要一個div ID和class時才輸入div ID。

0

我不知道什麼$(function){ //here }符號表示,應該給你在瀏覽器中出錯,但我認爲他只是想在頁面加載後執行代碼:

$(document).ready(function() { 
    // here 
} 
+0

這就是我的想法,但它實際上隱藏它在文件加載(除非「顯示」,「無」向後)。 – pcasa 2010-06-12 22:57:36