Solved

Javascript: OnMouseMove event problem

Posted on 2009-05-07
4
516 Views
Last Modified: 2012-05-06
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
Comment
Question by:sawyih1
  • 2
  • 2
4 Comments
 
LVL 3

Accepted Solution

by:
janjerell earned 500 total points
ID: 24333581
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
 

Author Comment

by:sawyih1
ID: 24333684
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
 

Author Comment

by:sawyih1
ID: 24333777
sorry, it works fine, is my mistake. Thanks a lot.
0
 
LVL 3

Expert Comment

by:janjerell
ID: 24334135
Thanks... Glad to help...
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

Suggested Solutions

Employees depend heavily on their PCs, and new threats like ransomware make it even more critical to protect their important data.
Having trouble getting your hands on Dynamics 365 Field Service or Project Service trial? Worry No More!!!
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

774 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