如果事件队列不为空,则阻止onMouseOver连续多次触发

时间:2011-12-27 21:09:15

标签: events queue onmouseover

我对onmouseover“a”标签有疑问。我目前有一个“img”缩略图列表,其中onMouseOver附加到包含“img”的“a”标签。当鼠标悬停在图像上时,图像的“预览”将通过javascript函数加载到另一个div中,此javascript函数具有jquery淡入淡出效果,因此预览将淡入视图。

现在的问题是,如果用户快速悬停在多个缩略图上,onMouseOver事件会多次注册,那么当用户最终停止快速悬停在多个缩略图上时,最后一个缩略图将多次收到该事件并且不仅会消失一旦。以下是我的代码:

    function previewimage(loadimg){
      jloadimg='<img src="../images/'+loadimg+'.png" />';

      //stimulate a fade in effect by making the image has 0.7 opacity first
      $(#largeimage).fadeTo('fast', 0.7, function() {
      });
      $(#largeimage).fadeTo('slow', 1, function() {
      });

      document.getElementById('largeimage').innerHTML=jloadimg;
    }

对于缩略图列表,我有:

<a onMouseOver="previewimage('imagefile1');"><img src="path/to/thumbnail/image1.png" /></a>
<a onMouseOver="previewimage('imagefile2');"><img src="path/to/thumbnail/image2.png" /></a>
<a onMouseOver="previewimage('imagefile3');"><img src="path/to/thumbnail/image3.png" /></a>

如果前一个事件仍然在队列中,如何从连续运行中取消多个事件?谢谢。

0 个答案:

没有答案