使用浮动div来处理offset()。top

时间:2015-10-30 17:03:01

标签: javascript jquery html css anchor-scroll

我有一个页面,其中包含该页面内部分的粘性导航。粘性导航和内联锚点工作正常,但如果我直接进入页面并检查window.location.hash,我遇到问题,offset().top计算不正确。这是因为我的一个部分有一系列浮动div(形成一个网格),计算是在浮动发生之前查看div高度(堆叠)。围绕它的一种方式..我讨厌这个选项是等待2秒然后执行scrollTo()

浮动执行后有没有办法立即进行计算?我试过$(window).load()并且行为是间歇性的。我还觉得我的setTimeout()根据负载速度等不正确。

或者有没有办法滚动到没有计算偏移量而只是直接转到div#id

这就是我现在正在管理的方式:

if(window.location.hash) {
    setTimeout(function(){
        var ID = '#' + window.location.hash.substr(1);
        $.scrollTo($(ID).offset().top- nav_height2, 800, {axis:'y'}) ;
     }, 2000);
}

谢谢!

0 个答案:

没有答案