reloading a page after every 10 sec in rails 3.1
i have a rails 3.1rc4 app and i would like to update a div in my index.html.erb file after 开发者_如何学编程every 10sec. I dont no if this can be done via jquery? there use to be a update method but i dont no if it is for only prototype. any sample would be great
Breaking down your question into sub-tasks, here's what you have to deal with:
- retrieve (HTTP GET) html
- update a div with the retrieved html
- Repeat steps 1 and 2 every 10 seconds
For 1, check out jquery's .get
Description: Load data from the server using a HTTP GET request.
For 2, check out jquery's .html
Get the HTML contents ... or set the HTML contents of every matched element.
For 3, check out the setInterval
Summary
Calls a function or executes a code snippet repeatedly, with a fixed time
delay between each call to that function. Returns an intervalID.
Final solution,
HTML Code:
<div id="divToChange"></div>
Javascript code
function update()
{
$.get('/', function(data)
{
$('#divToChange').html(data);
});
}
$(document).ready(function($){
window.setInterval('update()', 10*1000);
});
I'm assuming you're familiar with javascript and possibly AJAX (if you need it).
This piece of javascript uses the native setInterval function, which calls the updateDiv function every 10 seconds.
var timer = setInterval(updateDiv, 10000);
function updateDiv() {
// do update
}
Edit: A complete example without jQuery;
<html>
<head>
<script type="text/javascript">
var index = 1;
function updateDiv() {
document.getElementById("updateMe").innerHTML = index++ + " " + new Date();
}
var timer = setInterval(updateDiv, 10000);
</script>
</head>
<body>
<div id="updateMe" />
</body>
</html>
精彩评论