2015-07-21 65 views
0

第一次實時嘗試在Rails應用程序中使用JavaScript,但警報外沒有任何東西似乎對我有用。JavaScript時鐘函數未在Rails應用程序上運行

我想要做的就是讓這個simple clock在我的Rails應用上運行,幾乎複製了我認爲它應該去的代碼,但沒有任何工作,所有我的搜索或者太具體或不' t似乎工作。

我希望時鐘在站點範圍內可用,但我也嘗試將它組織到特定的控制器和他們的視圖上,運氣相同。

的application.js

// This is a manifest file that'll be compiled into application.js, which will include all the files 
// listed below. 
// 
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, 
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. 
// 
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the 
// compiled file. 
// 
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details 
// about supported directives. 
// 
//= require jquery 
//= require jquery_ujs 
//= require turbolinks 
//= require bootstrap-sprockets 
//= require_tree ./sitewide 

應用/資產/ Javascript角/站點範圍/ pages.js

function startTime() { 
    var today=new Date(); 
    var h=today.getHours(); 
    var m=today.getMinutes(); 
    var s=today.getSeconds(); 
    m = checkTime(m); 
    s = checkTime(s); 
    document.getElementById('txt').innerHTML = h+":"+m+":"+s; 
    var t = setTimeout(function(){startTime()},500); 
} 

function checkTime(i) { 
    if (i<10) {i = "0" + i}; // add zero in front of numbers < 10 
    return i; 
} 

application.html.erb

<!DOCTYPE html> 
<html> 
<head> 
    <title>Clawk</title> 
    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> 
    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 
    <%= csrf_meta_tags %> 


</head> 
<body> 


<%= render 'shared/navbar' %> 

<div class="container-fluid"> 

<%= render 'shared/sidebar' %> 

<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main"> 
<div id="txt"></div> 
<%= yield %> 
</div> 
</div> 

</body> 
</html> 
+0

如果您在JavaScript控制檯中運行'startTime();',時鐘是否顯示? –

+0

爲什麼是的,是的。第二,我越來越像新手了。 – user2965831

回答

0

您已經有了JavaScript,但實際上並沒有調用startTime()函數。注意:在本例中是通過onload屬性呼籲body<body onload="startTime()">

使用Rails,你可以添加到您的pages.js文件的末尾:

​​

這將在函數中的執行代碼頁面加載(並將與turbolinks兼容)。

相關問題