0
我是Jquery的新手,所以现在我尝试使用已经创建的代码并理解它。 我使用的是平滑滚动代码,但它使我离开页面,如果我不删除光滑滚动阻止我离开页面
event.preventDefault();
但是,如果我这样做删除它变成空白一秒钟的三分之一,因为它进入锚点然后执行滚动。
下面是代码:
$(document).ready(function(){
$("a").on('click', function(event) {
if (this.hash !== ""){ //here is my problem I think
//Prevent default anchor click behavior
event.preventDefault(); //here is what makes me unable to leave page
var hash = this.hash;
$('html, body').animate({
scrollTop: $(hash).offset().top
}, 800, function(){
window.location.hash = hash;
});
} // End if
});
});
我想要做的是:
if(this.hash !== "" && this.split('#')[0] != location.split('#')[0])
但随后的代码只是不会执行,我试过几个其他的方式,但只要我尝试操纵'this',即使我把它放在另一个变量中,然后操作这个变量,它也不起作用。
那么,如何使用“event.preventDefault()”访问其他页面?
谢谢
谢谢!它不起作用,但那是因为别的东西,但它确实让我以这种方式操作字符串。 –
对于任何想知道为什么它不起作用的人,当它相等时,你实际上想'event.preventDefault();因此用'=='替换'!=',它适用于离开页面 –