Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript rails应用程序中最简单的可视计时器_Javascript_Jquery_Ruby On Rails_Countdown_Countdowntimer - Fatal编程技术网

Javascript rails应用程序中最简单的可视计时器

Javascript rails应用程序中最简单的可视计时器,javascript,jquery,ruby-on-rails,countdown,countdowntimer,Javascript,Jquery,Ruby On Rails,Countdown,Countdowntimer,我试图做前端定时器,将精确显示剩余时间(分和秒) 即使用户离开站点或关闭浏览器,该计时器也应该计数 虽然我想到了一种简单的方法来完成它的后端部分,但我不知道如何在前端完成它,因为我不知道JS或jQuery。 我可以用宝石,但大多数都是用大炮杀苍蝇。不需要安排,因为我不需要回调 我只想做一个简单的计时器,在这里我通过rails变量和完成时间,然后倒计时,当它达到0时停止 这里是,但如何将rails变量传递到JS/jQuery中呢 @编辑可能的副本。这个问题是关于上述计时器的,但从rails的角度来

我试图做前端定时器,将精确显示剩余时间(分和秒)

即使用户离开站点或关闭浏览器,该计时器也应该计数

虽然我想到了一种简单的方法来完成它的后端部分,但我不知道如何在前端完成它,因为我不知道JS或jQuery。 我可以用宝石,但大多数都是用大炮杀苍蝇。不需要安排,因为我不需要回调

我只想做一个简单的计时器,在这里我通过rails变量和完成时间,然后倒计时,当它达到0时停止

这里是,但如何将rails变量传递到JS/jQuery中呢


@编辑可能的副本。这个问题是关于上述计时器的,但从rails的角度来看。

在rails中,有很多方法可以将数据从后端传递到前端

首先,有可能实际执行对服务器的请求以获取一些数据。在你的情况下,我认为这太过分了

另一个选择是通过DOM在视图中添加信息。一种常用的模式是向元素添加数据属性。这里有一些参考资料可以帮助您开始学习或

您可以像这样将数据传递到ERB模板中的元素

<div id="timer" data-startdate="<%= get_date %>"></div>

然后让前端读取该值并适当地开始倒计时

另一种选择是向窗口对象公开javascript变量,方法是将其包含在ERB模板的脚本中

<script>var startDate = '<%= get_date %>';</script>
var startDate='';
然后前端可以访问
窗口.startDate


祝你好运

在Rails中,有很多方法可以将数据从后端传递到前端

首先,有可能实际执行对服务器的请求以获取一些数据。在你的情况下,我认为这太过分了

另一个选择是通过DOM在视图中添加信息。一种常用的模式是向元素添加数据属性。这里有一些参考资料可以帮助您开始学习或

您可以像这样将数据传递到ERB模板中的元素

<div id="timer" data-startdate="<%= get_date %>"></div>

然后让前端读取该值并适当地开始倒计时

另一种选择是向窗口对象公开javascript变量,方法是将其包含在ERB模板的脚本中

<script>var startDate = '<%= get_date %>';</script>
var startDate='';
然后前端可以访问
窗口.startDate


祝你好运

您找到的js计时器将运行良好。 将RoR变量传递到js的最简单方法是使用标准控制器(.rb)->视图(.html.erb)通信通道

鉴于:

<% <statement> %> - for conditionals and other pieces of non displayed code
<%= <statement> %> - for displaying variables etc.
<%# <statement> %> - easy way to comment ruby code
-用于条件语句和其他非显示代码
-用于显示变量等。
-注释ruby代码的简单方法
您想要做的示例可以是:

让我们有一个控制器站点_controller.rb:

class SiteController < ApplicationController
  def index
    @time_variable = 5.hours
  end
end
class SiteController
现在我们可以为此创建一个视图(site/index.html.erb): (让startTimer(持续时间、显示)已定义)


window.onload=函数(){
变量计时器=;
display=document.querySelector(“#time”);
startTimer(五分钟,显示);
};

希望这能有所帮助。

您找到的js计时器会很好地工作。 将RoR变量传递到js的最简单方法是使用标准控制器(.rb)->视图(.html.erb)通信通道

鉴于:

<% <statement> %> - for conditionals and other pieces of non displayed code
<%= <statement> %> - for displaying variables etc.
<%# <statement> %> - easy way to comment ruby code
-用于条件语句和其他非显示代码
-用于显示变量等。
-注释ruby代码的简单方法
您想要做的示例可以是:

让我们有一个控制器站点_controller.rb:

class SiteController < ApplicationController
  def index
    @time_variable = 5.hours
  end
end
class SiteController
现在我们可以为此创建一个视图(site/index.html.erb): (让startTimer(持续时间、显示)已定义)


window.onload=函数(){
变量计时器=;
display=document.querySelector(“#time”);
startTimer(五分钟,显示);
};

希望这能有所帮助。

您要做的是创建一个容器,该容器将显示您的文本,并使用javascript更新其内容。为了告诉(客户端)javascript它应该倒计时到什么时候,您可以创建一个包含该值的隐藏字段,并使用jQuery读取它。(注意:传递值也可以通过JS文件中的AJAX+嵌入式ruby进行归档,但这更难理解,在html.erb中创建一个隐藏字段应该会更快一些!)

  • 检索隐藏字段的内容(也称为倒计时开始的时刻):
  • var end_time=$('hidden-field').text()
    
    #隐藏字段{
    显示:无;
    }

    您要做的是创建一个容器,该容器将显示您的文本并使用javascript更新其内容。为了告诉(客户端)javascript它应该倒计时到什么时候,您可以创建一个包含该值的隐藏字段,并使用jQuery读取它。(注意:传递值也可以通过JS文件中的AJAX+嵌入式ruby进行归档,但这更难理解,在html.erb中创建一个隐藏字段应该会更快一些!)

  • 检索隐藏字段的内容(也称为倒计时开始的时刻):
  • var end_time=$('hidden-field').text()
    
    #隐藏字段{
    显示:无;
    }

    的可能复制不是真的,因为这个问题与此有关,而是从rails的角度来看。我更喜欢补充问题。可能的重复不是真的,因为这个问题是关于那个,但从rails的角度来看。我更喜欢补充问题。非常感谢。我应该把
    setI放在哪里