【发布时间】:2015-09-22 11:07:21
【问题描述】:
我正在为单页 wordpress 网站上的菜单编辑以下代码。如果我删除所有这些代码,问题就解决了,但它在离开时提供了很好的滚动效果。我注释掉了event.preventDefault(),这允许外部链接在单击两次时工作,这是不可取的。有什么办法可以让我从这段代码中逃脱外部链接。只有此菜单中的链接受此影响,但链接必须保留在同一菜单中。
// SCROLL TO
$('#main-menu-top a,ul.slicknav_nav li a').click(function(event){
event.stopPropagation();
console.log($('#main-menu-top a,ul.slicknav_nav li a'));
//event.preventDefault();
if($(this).hasClass('active'))
return;
$('#main-menu-top a').removeClass('active').css('border-bottom-color', 'none');
$(this).addClass('active');
if(this.hash == "#home")
$.scrollTo(0,800);
else
$.scrollTo( this.hash, 800, {offset:-$(".sticky-wrapper").height()});
var bgcolor = $(this.hash).find('span.line-title').css('backgroundColor');
$(this).css('border-bottom-color', bgcolor);
$('.slicknav_nav').hide('normal', function() {
$(this).addClass('slicknav_hidden');
});
$('a.slicknav_btn').removeClass('slicknav_open').addClass('slicknav_collapsed');
return false;
});
【问题讨论】:
-
不确定这段代码,但只想提一下如果你评论最后一行,即返回 false;它阻止点击转到父元素。会不会是这个原因?
-
这在一定程度上起作用了@Mohsin。但是滚动效果会在到达所需位置之前跳来跳去。
-
太棒了 :-) 很高兴听到!
-
我已添加它以回答您可以标记已接受的答案以标记问题已解决。谢谢
-
@Mohsin 感谢您的输入,但再看一遍,滚动效果看起来比我通过删除 return 语句得到的 flash 更好。
标签: javascript jquery wordpress menu escaping