Reputation: 93
In JavaScript I want to use the setTimeOut()
function like this
<script>
var id=12;
setTimeOut("showGrid('i want to pass variable id here')",5000);
</script>
Upvotes: 2
Views: 125
Reputation: 185
If you want to use parameters, try this example:
var x = "OK";
setTimeout(alertOK.bind(null,x), 3000);
x = "Would be WRONG";
console.log("before timeout:", x);
function alertOK(x){
console.log("after timeout:",x);
}
It also works when in loop (where creating functions is not advisable).
Upvotes: 2
Reputation: 83366
The best way to do this would be to pass an anonymous function to setTimeout. This anonymous function will be able to access id
setTimeout(function() { showGrid(id); }, 5000);
Passing a string to setTimeout
(instead of a function) is usually considered evil, since the string will be eval
'd, and should be avoided.
Also note that you had a slight typo in your code: the function is setTimeout
, not setTimeOut
(note the lowercase o
)
EDIT
Based on your comment, the code would look like this:
setTimeout(function() { document.getElementById().inerHTML = data; }, 500);
except of course you need to pass some sort of id to document.getElementById
Upvotes: 3