2

ここに最初の投稿があるので、親切にしてください;-)

ページの本文に固定の「メニュー」divがあり、ほとんどが非表示の「オフスクリーン」で、右側の余白に「ハンドル」のみを表示するようにCSSで最初の上部と右側が設定されています。

divはページのコンテンツでOKにスクロールします。必要に応じて、ハンドルがクリックされると、このdivを余白からスライドさせて元に戻すjQueryのアニメーション関数を導入しました。これは単純なスクリプトであり、次のように簡略化されています...

var x = document.getElementById('menu');
if (x.style.right == '0px') {

        $j("#menu").animate({
            right:'-148px'
        });
    } else {

        $j("#menu").animate({
            right:'0px'
        });
    }

問題は、このメニューdivアニメーションが「開く」または「閉じる」にトリガーされるたびに、ページが一番上にリセットされる(スクロールバーの位置がリセットされる)ことです。スクロールバーの位置をトラップしてリセットするコードを追加しようとしましたが、ページに「ちらつき」効果が発生します。

ページのスクロール位置に影響を与えずにアニメーションを起動する方法についての手がかりはありますか?

一番、

キース..

4

1 に答える 1

1

return falseクリックイベントの最後に追加するか、リンクのhrefをに設定しますhref="javascript:void(0)"

于 2013-02-06T21:16:51.937 に答える