Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 538
  • Last Modified:

Javascript: OnMouseMove event problem

I have a count down javascript to count down in a webpage. This count down timer will be reset once user move the mouse, however, when a msn,yahoo messager or any chat application alert appear, it will reset the count down timer. I just want the timer will reset if the user move the mouse. Below is the html code. Can i have your help.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 
<head>
    <title>Testing</title>
	    <script type="text/javascript">
            var timeActivity;
            var seconds;
            document.d.d2.value='0';
            function start()
            {
                seconds=300;
                countDown();
                
	            document.documentElement.onmousemove = function() 
	            {
	                seconds = 300;
	                countDown();
	            }
            }
 
            function countDown()
            {
                 document.d.d2.value = seconds;
                 seconds-=1;
                 clearTimeout(timeActivity);
                 timeActivity = setTimeout("countDown()",1000) 
            }
            
            
	    </script>		
</head>
 
<body>
    <form name="d">
        <p><input type="text" size="8" name="d2"/></p>
        <input type="button" value="Start" name="Start" onclick="start()" />
    </form>
</body>
 
</html>

Open in new window

0
sawyih1
Asked:
sawyih1
  • 2
  • 2
1 Solution
 
janjerellCommented:
Hello sawyih1,


you can try this code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 
<head>
    <title>Testing</title>
            <script type="text/javascript">
            var timeActivity;
            var seconds;
	    var isWindowActive = true;
window.onblur = windowBlurred;
window.onfocus = windowFocused;
 
function windowBlurred() { isWindowActive = false; }
function windowFocused() { isWindowActive = true; }
 
            document.d.d2.value='0';
            function start()
            {
                seconds=300;
                countDown();
                
                    document.documentElement.onmousemove = function() 
                    {
			if(isWindowActive == true)
			{
				//alert(isWindowActive);
                        	seconds = 300;
                        	countDown();
			}
                    }
            }
 
            function countDown()
            {
                 document.d.d2.value = seconds;
                 seconds-=1;
                 clearTimeout(timeActivity);
                 timeActivity = setTimeout("countDown()",1000) 
            }
            
            
            </script>           
</head>
 
<body>
    <form name="d">
        <p><input type="text" size="8" name="d2"/></p>
        <input type="button" value="Start" name="Start" onclick="javascript:start();" />
    </form>
</body>
 
</html>
            
            //
 
            //document.window.onblur = function () { alert('a');  isWindowActive = false; }
 
            //document.window.onfocus = function () { alert('a'); isWindowActive = true; }
             

Open in new window

0
 
sawyih1Author Commented:
Hi Janjerell,thanks for the help. But it works in html page, but it doesn't work correctly when i put inside aspx page. The timer still running after i switch back from other window.Do u have any idea?
0
 
sawyih1Author Commented:
sorry, it works fine, is my mistake. Thanks a lot.
0
 
janjerellCommented:
Thanks... Glad to help...
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now