2012-08-16 80 views
1

向下滾動150px時,div將出現在左側(slideDown)。當你按下向上按鈕時,窗口應該向上滾動並且div應該隱藏(slideUp)。發生這種情況,但div滑動,然後再下降,然後返回。有什麼問題?下面是代碼:slideDown/Up和scrollTop竊聽海誓山盟

function checkSize() { 
    if ($(window).width() > 1250) { 
      $(window).scroll(function() { 
       if ($(document).scrollTop() > 150) { 
        $("nav#menu-float").slideDown("800"); 
       } 
       else { 
        $("nav#menu-float").slideUp("800"); 
       } 
      }); 
    } 
    else { 
     $("nav#menu-float").hide(); 
    } 
} 

checkSize(); 
$(window).resize(function() { 
    checkSize(); 
}); 

//Back to top 
$("div#toTop a").click(function(e) { 
    $("body,html").animate({ 
      scrollTop: 0 
    }, 800); 
    $(this).parents("nav#menu-float").slideUp("800"); 
    e.preventDefault(); 
}); 

編輯移除鏈接測試,因爲該鏈接已經走了死亡病例。

回答

1

我想你可以刪除

$(this).parents("nav#menu-float").slideUp("800"); 

線,從$("div#toTop a").click(function(e)
的效果基本show事件被調用兩次:1.on點擊事件和點擊再次2.That滾動事件試圖調用滾動事件在滾動到頂部'0'時再次向上滑動...

+0

你說得對。這很簡單,我忽略了它。謝謝。我會盡快獎賞賞金。 – 2012-08-21 16:37:27