2012-03-09 40 views
1

我发展我的兄弟网站(这些都不是他的照片,它们是随机的): http://dev.denisduvauchelle.com/eric/2012/jQuery的DIV是移动浏览器仍然认为鼠标在

我有一个问题当我将jquery动画中的div移动到页面顶部时,浏览器仍然认为光标位于div之上,从而产生另一个动画,这不应该。

下面是重新创建它的步骤:1. 加载页面 2.单击标志 3.移动鼠标只是一点点 ---->你会看到该菜单下降并快速备份

假设用户鼠标在徽标周围悬停白色方框时会发生该动画。 所以我猜测浏览器仍然认为鼠标悬停在盒子上并制作动画,我可以找到什么样的解决方案?

谢谢,请让我知道如果我不清楚。

这里是当用户点击该标识为代码:

$('#logo').live('click',function(){ 
     var attr = $(this).attr('title'); 
     if(attr === "Enter"){ 
      stop_fullscreen_flicker(); 
      $('#header_first').fadeOut(speedNormal); 
      $("header").delay(500).animate({ 
       "top" : spacing_header+'px' 
      }, 'slow').css("backgroundColor","#FFF"); 
      $(this).attr('title',''); 
      $("#header_work").delay(1000).slideToggle('fast', function(){ 
       // Load the first project 
       var first_loaded_project = $('#first_loaded_project').val(); 
       $('#link_'+first_loaded_project).addClass('external'); 
       $('#link_'+first_loaded_project).trigger('click'); 
      }); 
     } else { 
      set_href('about'); 
      $("#content").fadeOut('fast',function(){ 
       $("#header_work ul").slideUp('fast'); 
       $('#backstretch').hide(); 
       $("#about").fadeIn('fast'); 
       $("#about").addClass('on'); 
       set_href('about'); 
      }); 
     } 
     return false; 
    }); 

这里是代码为鼠标:

$('#header_work h1').live('mouseenter',function(){ 
     $("#header_work ul").slideDown('fast'); 
    }); 

    $('header').live('mouseenter',function(){ 
     $('#header_work h1').addClass('h1active'); 
     var attr = $('#logo').attr('title'); 
     if(attr !== "Enter"){ 
      $("#header_work ul").slideDown('fast'); 
      var img_src = "a_img/take-a-chance.jpg"; 
      $('#backstretch').hide(); 
      $.backstretch(img_src); 
      $('#content').hide(); 
      $('#backstretch').show(); 
     } 
    }); 

这里是一个的jsfiddle让你尝试了感谢Sheikh Heera: http://jsfiddle.net/kRs7Q/10/

+0

发布您的代码悬停功能。 – 2012-03-09 12:26:53

+0

@SheikhHeera - 我附上了代码。感谢您告诉我是否有帮助。 – denislexic 2012-03-13 00:16:16

+0

怀疑它是相关的,但'.live()'已被弃用,你现在应该使用'.on()'。 – mowwwalker 2012-03-13 00:39:12

回答

1

Does this help

$('header').on('hover', function(){ 
    $("#header_work ul").slideToggle('fast'); 
},function(){ 
    $("#header_work ul").slideToggle('fast'); 
}); 
+0

我试过了,但没有帮助。谢谢,还有其他想法? – denislexic 2012-03-13 01:50:00

+0

你试过这个http://jsfiddle.net/kRs7Q/4/并删除$('#header_work h1')。mouseenter(function(){...}); – 2012-03-13 12:29:15

+0

我非常欣赏这一努力。我尝试了jsfiddle中的所有内容,并且稍微更新了一些代码以获得更多相同的问题:http://jsfiddle.net/kRs7Q/10/。正如您在点击徽标区域后可以看到的,然后移动光标一样,下拉框向上滑动。这不应该发生。 – denislexic 2012-03-14 17:02:23

相关问题