我正在構建一個使用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