2011-05-17 49 views
0

我需要一個倒計時器來處理我正在使用的Rails應用程序,所以我決定使用它。在Rails 3應用程序中修復JQuery倒數計時器

http://keith-wood.name/countdown.html

在公共/ JavaScript的文件夾,我已經添加jquery.countdown.js 在我添加jquery.countdown.css

在應用程序/視圖/佈局公共/ styleheets文件夾/application.html.erb我將javascript和css文件添加到樣式表和JavaScript標記。

在我看來,我已經添加

<script> 
    var element = '#countDownTimer'; 
    var year = <%= @deal.end.year %>; 
    var month = <%= @deal.end.month %>; 
    var day = <%= @deal.end.day %>; 
    setCountdownTimer(element, year, month, day); 
</script> 
<div id="countDownTimer"></div> 

其將被用於與jQuery選擇要添加的計時器。

這裏是我的application.js文件

// The following function is called once the rest of the document is fully loaded 
$(document).ready(function() 
{ 

function setCountdownTimer(element, year, month, day) { 
    var date = new Date(year, month, day); 
    $(element).countdown({until: date}); 
} 


// DEALS TABS ON DEALS PAGES 
$("#tabs > ul").tabs(); // Make the tabs. 

// FANCYBOX FOR GALLERY IMAGES POPUP 
$("a.galleryitem").fancybox(); 

// MEDIA ENCODER FOR PODCASTS 
$.mb_audioEmbedder.playerPath="/media/player.swf" //the path to audio player 
    $.mb_videoEmbedder.defaults.width=500; 
$.mb_audioEmbedder.defaults.width=214; 
    $("#media").mb_embedMovies(); 
    $("#media").mb_embedAudio(); 

}); 

誰能告訴我,爲什麼這不起作用?

回答

2

嘗試包裹

var element = '#countDownTimer'; 
    var year = <%= @deal.end.year %>; 
    var month = <%= @deal.end.month %>; 
    var day = <%= @deal.end.day %>; 
    setCountdownTimer(element, year, month, day); 

$(document).ready()

也是我不認爲這必須是在$(document).ready()

function setCountdownTimer(element, year, month, day) { 
    var date = new Date(year, month, day); 
    $(element).countdown({until: date}); 
} 

的問題可能是你之前打電話setCountdownTimer其定義爲

+0

我試過,但仍然無法讓它工作。我得到定時器工作的唯一方法是 – 2011-05-17 09:46:49

+0

我試過,但無法讓它工作。它工作的唯一方法是在我的application.js文件中在我的'$(document).ready()'內添加'setCountdownTimer(element,year,month,day);'然後它打破了其他一些東西,如我的標籤和音頻嵌入器。我還將我的setCountdownTimer函數移到了我的application.js文件的'$(document).ready()'之外。 – 2011-05-17 09:48:23

+0

嘗試將setCountdownTimer和所有變量一起包裝在視圖內部的$(document).ready()內部,而不是application.js聽起來像我們正確的軌道 – Kelend 2011-05-17 17:15:08