2

你好 Stackoverflow 引导程序!

我没有看到以前有人问过这个问题,我真的很想看看结果。

如何复制错误:

  1. 打开页面:(我当前的 url 测试这个 bug) http://dnwebdev.com/dev/
  2. 将页面缩小为平板电脑
  3. 使用导航栏

(请注意,url 已更改为 include #section)仅当您调整浏览器大小时才会发生这种情况。这会导致间谍/滚动关闭。

注意:如果您在移动设备上打开它,则不会出现问题,因此客户不会面对它,这只是在打扰我。

谢谢,期待您的回复。

编辑:点击标题品牌时,#section-1无需调整大小即可添加网址,这也让我失望。在这一点上,我认为这是一个引导程序。

Javascript我的页面上只有以下内容:

function close_toggle() 
{
    if ($(window).width() <= 768) 
    {
        $('.nav a').on('click', function() {
                $(".navbar-toggle").click();
        });
    } 
    else 
    {
        $('.nav a').off('click');
    }
}

close_toggle();

$(window).resize(close_toggle);

上面的代码在移动设备中进行选择后关闭切换。

if ($(window).width() <= 768) 
{
    var offset = 75;
} 
else 
{
    var offset = 90;
}

$('.navbar li a').click(function(event) {
    event.preventDefault();
    $($(this).attr('href'))[0].scrollIntoView();
    scrollBy(0, -offset);
});

上面的代码(基于屏幕尺寸)将抵消 scrollspy

编辑#2

我需要任何偏移量的唯一原因是因为 fixed-top它会导致 scrollspy 吓坏了。

非常感谢您的帮助。

4

2 回答 2

1

固定顶部似乎带有滚动间谍的错误,让我别无选择,只能使用 javascript。

于 2014-02-10T04:10:07.820 回答
0

要处理正确的导航突出显示,您必须考虑,当 scrollTop 值等于 0 时,会执行由 scrollSpy 进行的所有计算。

所以解决方案如下所示:

var refreshScrollSpy = function (element, navElement, offset) {
// cache current scroll position to come back after refreshing
var cacheScrolltop = $(element).scrollTop();
   $(element)
   .scrollTop(0)
   .scrollspy(‘refresh’)
   .scrollTop(cacheScrolltop);
};
于 2018-03-07T21:38:33.193 回答