我试图在导航菜单上使用jQuery。当网址为"#"时,它将滚动到锚点。当它不在主页上时,它将添加#和锚点详细信息并进行重定向。我试图抓住一个特定的导航项目,#34;联系",并且抓住它很好,但是当我处理它时,就好像连续两次点击了联系人一样。
因此,例如在下面的代码中,我得到警告" Woo!"连续两次,幻灯片切换打开并关闭目标div,而不是根据状态打开或关闭。
$('#menu-home li a').click(function(event) {
var target = $(this).attr('href');
if (target == 'http://#') {
event.stopPropagation();
event.preventDefault();
var scrlto = $(this).attr('title');
if (window.location.href == homeurl) {
$('html,body').animate({
scrollTop: $('#' + scrlto + "-anchor").offset().top - 90
}, 500, function() {
if (scrlto == "Contact") {
$('.contactform').slideToggle(400);
}
});
} else {
window.location.href = homeurl + '#' + scrlto + "-anchor";
}
}
});
答案 0 :(得分:2)
如果您希望它停止传播,请使用event.stopPropagation();