首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从ruby on rails视图调用javascript函数

问从ruby on rails视图调用javascript函数
EN

Stack Overflow用户
提问于 2018-05-30 06:27:39
回答 1查看 1.3K关注 0票数 0

我一直在找,但我找不到任何对我有帮助的东西。

我有一个文件countdown.js app/assets/javascript/countdown.js

代码语言:javascript
复制
// 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文件上调用这个函数。我该怎么办?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-30 07:38:18

你的js函数不好:

内部本身称为

  • ,然后,为了进行倒计时,您应该使用setInterval而不是setTimeout

所以你可以做更多这样的事情:

代码语言:javascript
复制
//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文件:

代码语言:javascript
复制
//= require countdown
// OR
//= require_tree .

并且您的application.js链接到您的布局中:

代码语言:javascript
复制
#layouts/application.html.erb
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>

现在,您可以使用id="countdown"在index.html.erb的div中显示倒计时

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50593864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档