将链接悬停在1500毫秒后显示图像

时间:2011-08-29 20:24:19

标签: javascript jquery jquery-ui

我希望在至少1500毫秒的链接上有image之后显示hover,或者有click。如何在显示图像时实现此最小时段悬停条件?

图像应保持可见,直到链接悬停或自身为止。 &安培;当鼠标移出两者时应该消失。我该如何实现呢?提前谢谢!

5 个答案:

答案 0 :(得分:4)

http://jsfiddle.net/sSBxv/

$('a').click(function() {

          alert(1); // alert on click

      })

      .hover(function() { // when mouse is entering

          var $this = $(this);

          // set timeout, save timeout id on element to clear later
          $this.data('timeout', setTimeout(function() {
              $this.click(); // click after 1500ms
          }, 1500));

       }, function() { // when mouse is leaving

              clearTimeout($(this).data('timeout')); // stop the timeout

       });

答案 1 :(得分:2)

试试这个

var hoverTimer;
$("linkSelector").hover(function() {
  hoverTimer = setTimeout(function() {
    $("imgSelector").show();
  }, 1500);

}, function(){
   clearTimeout(hoverTimer);
}).click(function(){
   clearTimeout(hoverTimer);
   $("imgSelector").show();
});

答案 2 :(得分:1)

有什么影响......

$("#MyLinkSelectorId").hover(function() {

      //Do anything you need to do here when it is clicked/hovered

      setTimeout(function() {

               //Do all of the other things here

      }, 1500);

});

通过单击或绑定多个事件来切换悬停以处理这两种事件类型。要隐藏图像,您可以使用.hide()方法在图像上使用选择器,也可以在浏览器支持的情况下设置不透明度。

答案 3 :(得分:1)

$("a.class").hover( function (){ //First parameter is onmouseenter, show the image
    $("img").show();
}, function (){ //second is onmouseleave, set a timeout that will hide the image
    setTimeout( function(){
        $("img").hide();
    }, 1500);
}).click( function() { //on click, hide the image right away.
    $("img").hide();
});

答案 4 :(得分:1)

因为看起来你还没有尝试过,我会用最简单的方式使用jQuery(请注意我没有测试过这个):

$("#idOfDiv").mouseover(function() {
   setTimeout("alertMsg()",1500);
});

function alertMsg()
{
   alert('Ive been entered for 1500ms')
}

另外,如果你对软件开发很认真,那么你应该自己想出来。