event.value が == to / の場合、URL から # を削除する必要があります。開いている画像への参照を格納する jquery.address を含むライトボックスを持っています。これを閉じると、ウィンドウが上にスクロールするため、# マークを削除する必要があります。
これで # マークを削除することに成功しました: window.location.href.slice(0, -1); しかし、上記のコードでわかるように、これにより、イベントの後だけでなく、ページが読み込まれたときに URL が書き換えられます。
ライトボックスを閉じたときにこの関数が olny と呼ばれる方法で、完了したときにのみこの JavaScript をチェーンするにはどうすればよいですか。
ここに私のコードをコメント付きで添付します。皆さん、ありがとうございました
$.address.change(function(event) {
curLink = event.value;
if(curLink != '/') {
// here my stuff, jquery.address generates url with reference
// ex: mysite.com/cat/subcat/page.html#one
} else {
$('#element').animate({opacity:"0"},{duration:100, easing:"quartEaseOut", complete: function () {
// here I need to remove the hash only after the complete
// ex: mysite.com/cat/subcat/page.html# > mysite.com/cat/subcat/page.html
window.location.href.slice(0, -1);
$(this).hide();
}});
}
});