我一直在找,但我找不到任何对我有帮助的东西。
我有一个文件countdown.js app/assets/javascript/countdown.js
// Total seconds to wait
var seconds = 11;
function countdown() {
seconds = seconds - 1;
if (seconds < 0) {
// Chnage your redirection link here
seconds = 11;
window.setTimeout("countdown()", 1000);
} else {
// Update remaining seconds
document.getElementById("countdown").innerHTML = seconds;
// Count down using javascript
window.setTimeout("countdown()", 1000);
}
}
// Run countdown function
countdown();我想在我的index.html.erb文件上调用这个函数。我该怎么办?
发布于 2018-05-30 07:38:18
你的js函数不好:
内部本身称为
setInterval而不是setTimeout 所以你可以做更多这样的事情:
//assets/javascript/countdown.js
function countdown() {
var seconds = 11
setInterval(function() {
if (seconds < 1) {
seconds = 11
}
seconds -= 1
document.getElementById("countdown").innerHTML = seconds + " seconds"
}, 1000);
}
window.onload = function() {
countdown();
};确保您的资产/javascript/application.js中需要js文件:
//= require countdown
// OR
//= require_tree .并且您的application.js链接到您的布局中:
#layouts/application.html.erb
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>现在,您可以使用id="countdown"在index.html.erb的div中显示倒计时
https://stackoverflow.com/questions/50593864
复制相似问题