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()」を使用して他のページにアクセスするにはどうすればよいですか?
は、あなたがもしこれに声明...
if (this.hash !== "" && this.href.split('#')[0] != location.href.split('#')[0])
そして、それが動作する必要があることを変更することができます
ありがとうございました!それは動作しませんが、それは他の何かのためですが、それは私が文字列をそのように操作することができます。 –
なぜ動作しないのか不思議な人は、実際には 'event.preventDefault();'が等しい場合に '!='を '=='に置き換えてください。 –