Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

window.clearTimeout() in IE3

Posted on 1998-11-02
8
Medium Priority
?
263 Views
Last Modified: 2008-02-20
The window.clearTimeout() method doesn't seem to work in IE3, is it part of IE3s Jscript? and if it isn't how can I stop a function called by a window.setTimeout() coming into effect?

Any help would be greatly appreciated.
0
Comment
Question by:jtp101
  • 4
  • 3
8 Comments
 
LVL 4

Expert Comment

by:martinag
ID: 1273419
I don't know if clearTimeout() is defined or not (it could be some problem with your other code) but if it is not you could use a variable:

timerId = setTimeout('runByTheTimer()', 1000);
runTimer = 1;
.
clearTimeout(timerId);
runTimer = 0;
.
function runByTheTimer() {
  if (!runTimer) return;
  ...
}

Martin
0
 
LVL 8

Expert Comment

by:jbirk
ID: 1273420
clearTImeout should work fine in IE 3.  Martin's code should work for you though if the clearTimeout still doesn't work.

Just out of curiosity though, what's your code look like?  I was just wondering if maybe it was coded wrong or something.
-Josh
0
 

Author Comment

by:jtp101
ID: 1273421
Hi there Josh

This is the part of the code which gives me the error.

The idea is that when a user of my site moves their mouse pointer over an image, help text for that image is displayed in another
frame.

when the mouse is moved over the image, helptextchange() is called which puts the correct file in the help text window and sets
up a window.setTimeout() to change the help text window back to normal after 6 seconds, the problem is that if the mouse
pointer is moved over another image, say 5 seconds after the first, the new helptext is called up and 1 second later taken away
(because the first window.setTimeout() is still active) therefore I need to cancel the first window.setTimeout().

I would have liked to use a "onMouseOut" to change the text back to normal bu that isn't supported my IE3 either.

Code Below:

var htbtn=null;

function helptextchange(thehelptextfilename) {

parent.helptext.location.href= "http://www.jtp.dircon.co.uk/whisky/helptext/" + thehelptextfilename;

window.clearTimeout(htbtn);
htbtn = window.setTimeout('helptexttonormal()',6000);
 }
}


function helptexttonormal() {

parent.helptext.location.href= "http://www.jtp.dircon.co.uk/whisky/helptext/helptext.htm";

}

From
  Justin
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:jtp101
ID: 1273422
Hi Martin

Thanks for your comment, but at the same time as the first setWindowTimeout() is cancelled I need to create another setWindowTimeout() assigned to the same variable as the first one, and that won't come into effect either using your method (because runTimer would be equal to 0, and if you didn't set it to 0 the first setWindowTimeout() would still come into effect).

Have a look at my code in the other comment I have posted if you're interested.

Thanks again

From
  Justin
0
 
LVL 8

Expert Comment

by:jbirk
ID: 1273423
OK, I'm not sure if this will work, but try this:

counter=0;
function helptextchange(thehelptextfilename)
 {parent.helptext.location.href= "http://www.jtp.dircon.co.uk/whisky/helptext/" +                                             thehelptextfilename;
 counter++;
  window.setTimeout('helptexttonormal()',6000);
 }

function helptexttonormal()
 {counter--;
  if (counter==0)
   parent.helptext.location.href= "http://www.jtp.dircon.co.uk/whisky/helptext/helptext.htm";
 }

The theory is right, so if I had the semantics slightly off and it doesn't work, I'll try to fix it by actually testing with dummy pages.

Good luck,
Josh
0
 

Author Comment

by:jtp101
ID: 1273424
Hi Josh

Sorry I disappeared (Had to go away for a few days)

Your method should work perfectly! so if you re-post it as a proposed answer then I will
give you the points.

Thanks very much.

From
   Justin

P.S. any Idea why the clearTimeout() is not working?
0
 
LVL 8

Accepted Solution

by:
jbirk earned 40 total points
ID: 1273425
Glad it worked for you!
I really have no idea why clearTimeout() didn't work for you.  It's supposed to be supported by all versions of javascript enabled browsers.

-Josh
0
 

Author Comment

by:jtp101
ID: 1273426
Cheers Josh.
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I've been trying to accomplish this for a while and it just struck me yesterday how to accomplish this task. I have done searches all over the internet looking for ways to email pages from my applications and finally I have done it!!! Every single s…
Originally, this post was published on Monitis Blog, you can check it here . In business circles, we sometimes hear that today is the “age of the customer.” And so it is. Thanks to the enormous advances over the past few years in consumer techno…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
Suggested Courses

963 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question