我正在构建一个使用Rails 3.2.6的应用程序,我想创建一些功能,使页面的一部分能够在一段时间后自动重新加载自身。这是我做了什么:点击()不在轨道工作3.2.1 - 自动点击
我创建了一个部分叫做_hottest_beep其中重装上阵含量应
我叫主网页的部分,像这样
<div class="update_beep"> <%=render :partial=>"hottest_beeps"%> </div>
我创建了一个main.js.erb文件
$(".update_beep").html("<%= escape_javascript(render("hottest_beeps"))%>")
我加的主网页上的链接,当该链接被点击的部分重载自动
<span ><%=link_to'View',{:controller=>'users',:action=>'main'},:remote=>true,:class=>'auto_click'%> </span> <div class="update_beep"> <%=render :partial=>"hottest_beeps"%> </div>
然后,我创建了一个名为
auto_click
一个JavaScript文件,该文件会自动点击它每1秒var fsecs = 1000; function feedTimer1() { if (fsecs == 0) { $('.auto_click').click(); fsecs =1000; self.status = fsecs ftimerRunning = true ftimerID = self.setTimeout("feedTimer1()") } else { self.status = fsecs fsecs = fsecs - 1 ftimerRunning = true ftimerID = self.setTimeout("feedTimer1()") } } window.onload = feedTimer1();
但似乎点击甚至不起作用。当我加载页面的部分保持不变,但是当我点击链接我的自我它的作品。
注:我还呼吁在application.html.erb文件auto_click.js文件应该将其加载到页面
那么为什么不选择使用* setInterval *就像这样:'setInterval(function(){$(“。auto_click”)。click();},1000)' – 2012-08-12 17:32:39
@ChrisMoutray是的,在这种情况下它是一样的,但我希望稍微改变这个实现,以在请求完成后设置超时,而不是在发送请求之后。 – Dogbert 2012-08-12 17:34:52
你的意思是使用* setInterval *作为编辑的一部分,否则它只会执行* tick *一次而不是每秒? – 2012-08-13 05:33:37