devxlogo

DHTML Window Redraw

DHTML Window Redraw

Question:
Is there any way to control the redrawing/repainting of the open window/document? Specifically, I have to change page elements (labels, cursor style) before calling some time intensive task. I have successfully implemented changes to the cursor style but it doesn’t always change the display of the mouse cursor immediately.

Answer:
Whenever a script is evaluated (at least in Internet Explorer), the parsing agent takes over and handles all of the manipulation in a significant number of cases. For this reason, you can’t use synchronous calls to animate a screen–the script has to be interpreted first, and the result gets displayed only after the script terminates. One way around this is to perform the changing call asynchronously.

For example, suppose that I wanted to turn the cursor to an hourglass wait state before beginning some kind of a lengthy operation. The logical code to do this would be:

document.body.style.cursor="wait";for (var index=0;index<10000

This code, however, doesn't change the cursor, because the scripting engine currently has control of the action. However, you can fork it (to use an old Unix term) so that it exists on its own processing thread:

window.setTimeout("document.body.style.cursor='wait'", 0, "JavaScript")for (var index=0;index<10000

The setTimeout call essentially invokes a new thread, which will execute independently of the rest of the script. By setting the time to 0 ms, the call will be made automatically. Since the last step in the action is to set the cursor style back, the focus will return to the browser and the cursor will get updated back to its default value.

See also  Professionalism Starts in Your Inbox: Keys to Presenting Your Best Self in Email
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist