2016-10-19 253 views
1

我有這個jQuery函數,我希望它滾動到possition -60px,因爲我有一個固定的導航欄,它與內容重疊。我如何添加這60px到這個代碼?jquery滾動到錨點-60px

/** 
* Scroll to section 
* @param string des HTML identity of section block 
* @return void 
*/ 
function goToSectionID(des){ 
    var os = (history.pushState)?51:0; 
    os = (jQuery(window).width()>800)?os:0; 

    var pos = (jQuery(des).length>0)?jQuery(des).offset().top-os:0; 
    onanimate = true; 
    jQuery('html,body').animate({scrollTop:pos},1000,function(){ 
     if(history.pushState){ 
      history.pushState(null,null,des); 
     }else window.location.hash = des; 
     jQuery(window).scrollTop(pos); 
     onanimate=false 
    }); 
} 
+0

'的jQuery(窗口).scrollTop(POS - 60);'? –

回答

0

該函數過於複雜或過於簡單,取決於,但我們還沒有看到您的代碼。

最簡單的方法:

$(".arrowimg").click(function() { 
    $('html, body').animate({ 
    scrollTop: $('#in').offset().top += 500 
    },500); 
    }); 

第一行是很明顯,事件監聽和處理程序。第二行,針對HTML和正文,爲跨瀏覽器的原因。使用動畫方法。 scrollTop的,然後用ID錨目標在這裏的HTML

<div class="arrowimg" id="in"></div> 

然後,我不知道,如果你想要去的60 PX進一步向上或向下,因爲我們還沒有收到你的代碼,但它的一個+或 - 的問題。

這裏的鏈接

http://codepen.io/damianocel/pen/zBLEXR