IOSでは、photoswipeを閉じてページに戻ると、サムネイルをクリックしたときのスクロール位置に戻りません。photoswipeが最後のスクロール位置の代わりに現在のページの最初のハッシュに戻る
代わりに、ページは最初にページを呼び出したときに指定した#にスクロールします。例えば
photoswipeがwww.somepage.html上にある、と私は使用してページに移動した場合:その後、
www.somepage.html#footer
と終了photoswipeに、ページの#middleにthumnailを上にスクロールしてクリックし、ページはフッタまでスクロールします。
私はphotswipeオプションで歴史を無効にしようとした、と私はまた、使用されたURLからハッシュデータをクリアしようとしました:
//clear hash
//$(document).ready(function (e) {
// window.location.hash = '';
// window.history.pushState("", document.title, window.location.pathname);
//
//});
をしかし、それがどれも動いていないようにみえ。ページに#を付けずにページに移動しても、何も問題ありません。
私は、#の代わりにURLに変数を渡して、javascript経由で問題のdivにスクロールする必要があると思いますか?
私は既にスクロールする場所にjavascriptを持っていますが、私はどのようにURLから変数を読み込み、それをJavaScriptの値として使用するのか分かりません。
これが問題の最適な解決方法である可能性が高い場合は、誰でもjavascriptコードの例を挙げることができますか?ここで
は私の現在のスクロールコードです:
$(function() {
$('a[href*=#]:not([href=#],[data-toggle],[data-target],[data-slide])').click(function() {
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') || location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
うーん、誰もが解決策を共有することができれば、まだこの1に苦しん:
ここでは、コードですか? – user3597862