我是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])
但是代码只是没有执行,我尝试了其他几种方式,但是一旦我试图操纵这个',即使我把它放在另一个变量然后操纵变量,它不会起作用。
那么,如何使用" event.preventDefault()"?
访问其他页面?谢谢
答案 0 :(得分:0)
您可以将if语句更改为此...
if (this.hash !== "" && this.href.split('#')[0] != location.href.split('#')[0])
这应该有用。