下面的代码执行后鼠标移动越快执行速度越快
document.onmouseover=function()
{
timecount=1000
window.setTimeout("tick1();", timecount);
}
document.onmouseout=function()
{
timecount=-1000
}改成这样,鼠标离开后再回到页面需要再随便点一下页面才继续执行
window.setTimeout("tick1();", timecount);
document.onmouseover=function()
{
timecount=1000}
document.onmouseout=function()
{
timecount=-1000
如何才能让鼠标回到页面不点就继续执行,而且鼠标移动的时候不连续触发mouseover事件呢我加一个if (timecount==-1000) 这样的判断也不行高人指点后我已经会页面鼠标事件了,可是现在有这样一个问题
我就是想让一个程序在鼠标离开页面时暂停,回到页面时继续执行可本来目的是1秒执行一次,现在却是鼠标在页面内动的话程序就快速执行,鼠标移动越快执行的频率就越高
怎么才能避免呢,我换成cleartimeout也是一样,

解决方案 »

  1.   

    你搞错了吧?mouseover是鼠标进入事件,又不是移动事件,怎么会移动时连续触发
    clearTimeout是需要把定时器对象传递进去才会有效,你连定时器对象都没保存怎么会有用?
    看样子你的问题全是逻辑不清造成的,自己都描述不清楚,还是把代码(包括tick函数)贴出来再分析吧
      

  2.   

    你这个要求本来就比较奇葩,
    mouseover会重复触发的根本原因是,当鼠标移动到document的后代元素的时候会瞬间触发一次mouseover和mouseout你想想document有多少后代元素。
    要修复这个问题最好在IE下把事件名改成mouseenter和mouseleave;
    在其他浏览器下加入一个判断
    if(!document.cotains(evt.relatedTarget)){
    代码块}
    再执行。
      

  3.   

    楼主看看这篇文章
    http://blog.csdn.net/hch126163/article/details/5298791