2013-06-19 341 views
0
$(function() { 
    $(window).scroll(function() { 
     var scrollTop = $(window).scrollTop(); 
     if (scrollTop != 0) 
      $('#header').hide(); 
     else  
      $('#header').show(); 
    }); 
    $('#header').hover(
     function (e) { 
      var scrollTop = $(window).scrollTop(); 
      if (scrollTop != 0) { 
       $('#header').show(); 
      } 
     }, 
     function (e) { 
      var scrollTop = $(window).scrollTop(); 
      if (scrollTop != 0) { 
       $('#header').hide(); 
      } 
     } 
    ); 
}); 

取決於滾動,它運作良好。 但與鼠標懸停,它不是特別是在IE7中工作。 :(懸停效果不起作用

難道錯了

+0

@DerekHenderson哈哈!在OP使用,而不是鼠標鼠標/ mouseleave,看看它是否工作 –

+0

你可以找到使用IE 7的人! Jquery 2不支持IE 8和earlier:D,這不是你的問題。 :D:D:D –

+0

您收集了17個(!)問題並且沒有任何問題。人們會停止回答你的問題。小心解決這個問題。這是一種在Stack Overflow上說「謝謝」的方式,對於未來的訪問者,這是一個有用的信息,可以查看哪個人被您接受爲正確答案,有助於解決您的問題。 –

回答

1

一旦你隱藏您的固定報頭,(假設你正在做的是正確的:fixed)? 有沒有辦法可以在該元素上召回mouseenter原因它不能疊加更多在它的原始空間。

可以更好地處理元素的透明度。這是一個使用jQuery的.fadeTo()

http://jsbin.com/eviziq/3/edit

爲例
$(window).scroll(function(){ 
    $('#header').stop().fadeTo(300, $(window).scrollTop() > 0 ? 0.1 : 1); 
}); 

$('#header').on('mouseenter mouseleave', function(e){ 
    if($(window).scrollTop() > 0) { 
     $('#header').stop().fadeTo(300, e.type=="mouseenter" ? 1 : 0.1); 
    } 
}); 

我用不透明度0.1代替0僅用於演示目的。