一页主题平滑滚动引导导航链接尝试打开其他网页时不工作,但它确实为锚的工作页面

问题描述:

我需要有一些自己的导航栏按钮重定向例如回我的开始页面中。看来平滑滚动编码需要的菜单项,直接向井号标签锚的菜单项的功能,这确实可行,但是当我尝试重定向到完全另外一个页面,没有任何反应。没有错误,并且没有覆盖按钮的div。一页主题平滑滚动引导导航链接尝试打开其他网页时不工作,但它确实为锚的工作页面

我在这里看到的解决方案包括向滚动条代码添加语句以禁用特定外部链接的hashtags,但我不知道如何对其进行编码,而且我的模板代码与上面提到的代码不同线程。换句话说,我需要一个代码来说明如何执行onclick的常规操作,只要按钮没有“ext-link”类。有关更多具体细节,请参阅下面的链接。 One page theme Bootstrap Navigation Link does not direct to another page, while it works for anchors inside the page

我不完全相信下面的是正确的代码,但似乎喜欢它。我将如何改写它包括“如果点击,而不是类= EXT-链接”的情况下,这样我可以让从我的站点根目录外部链接的导航栏我?

jQuery('#scrollToContent').click(function(e){ 
    e.preventDefault(); 
    jQuery.scrollTo("#portfolio", 1000, { offset:-(jQuery('#header .top').height()), axis:'y' }); 
}); 

jQuery('.nav > li > a').click(function(e){ 
    e.preventDefault(); 
    jQuery.scrollTo(jQuery(this).attr('href'), 400, { offset:-(jQuery('#header .top').height()), axis:'y' }); 
}) 

jQuery(window).scroll(function() { 
    //setHeaderBackground(); 
}); 
+0

[这](https://css-tricks.com/snippets/jquery/smooth-scrolling/)似乎提供至少一些见解,如果没有一个解决方案。 –

+0

有趣的文章,但不幸的是,根本没有帮助我。我正在考虑按照下面的if语句来包装上述整个脚本: 'if('.nav> li> a'!=“.ext-link”){}' 但那没用... –

如果我得到这个权利,你可以修改的第二次点击即使有这样的代码处理程序,它应该工作:

jQuery('.nav > li > a').click(function(e){ 
    var $this = jQuery(this); 

    if (!$this.hasClass('ext-link')) { 
     e.preventDefault(); 
     jQuery.scrollTo($this.attr('href'), 400, { offset:-(jQuery('#header .top').height()), axis:'y' }); 
    } 
}) 

希望这有助于。 :)

+0

非常感谢你,朋友。你完全保存了一天! +1 @Timo –