Reputation: 1927
How can we increase or Decrease width of a DIV using setTimeout() ??
Upvotes: 0
Views: 4076
Reputation: 798
<div id="progressbar" style="background-color:green; margin-top: 10px; width:0px; height:10px;"></div>
<script>
// set var to rep width of progress bar div
var dwidth=0;
// declare global variable for instance of Interval Timer so other funcs can access it.
IntervalId =0;
// grow progress bar each second
IntervalId = setInterval(function() { dwidth +=5; document.getElementById('progressbar').style.width = dwidth+'px';}, 1000);
// stop progress bar after 10 seconds
/* in real world an event handler would do this when iframe handling upload script loads response from upload */
setTimeout(function() { clearInterval ( IntervalId ); document.getElementById('progressbar').style.display='none' , 10000);
</script>
Upvotes: 0
Reputation: 151106
setTimeout(function() { document.getElementById('foo').style.width = '300px' },
2000);
a related blog and spec:
http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/
https://developer.mozilla.org/en/DOM/window.setTimeout
If you want to increase or decrease first by getting the current width, then you can look into clientWidth():
https://developer.mozilla.org/en/DOM/element.clientWidth
or use jQuery's width():
jQuery is becoming very popular and even used by big corporations, so you can consider using it.
Upvotes: 1