2012-03-09 82 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