scrolltop()
jquery関数に問題があるライトボックスを使用しています。ライト ボックスが開くと、ドキュメントのスクロール バーがある場合は非表示になり、垂直スクロール位置が変数に保存されます。閉じると、ドキュメントのスクロール バーが元の位置に戻り、スクロール バーが元の位置に設定されます。コードは次のとおりです。
$('html').css({
'overflow-y' : 'auto'
});
$('html').scrollTop(org_scrolltop);
この状況scrollTop
では、関数はまったく機能しません。setTimeout
そこで、スクロール位置を設定する機能を試してみました。コードは次のとおりです。
$('html').css({
'overflow-y' : 'auto'
});
setTimeout(function(){
$('html').scrollTop(org_scrolltop);
},10);
現在は機能していますが、ページが時々ぎくしゃくしています。関数も試しanimate()
ましたが無駄でした。
おそらく起こっていることは、最初にブラウザがスクロールバーをデフォルトの位置、つまり 0 に設定しているときにoverflow-y
、auto
この$('html').scrollTop(org_scrolltop);
コード行が実行されていることです。そして、この過程でページがぎくしゃくします。
それを行うためのクリーンな方法があるかどうか知りたいです。つまり、を使用せずにsetTimeout
. どのアイデアも非常に役立ちます。