1

最近個人サイトで作業していて、jQueryScrollTopを使用してコンテンツdivをアニメーション化しています。しかし、私は問題に遭遇しました。

  • 1番目:関係するすべての上部に奇妙なパディングがあります

  • 2番目:スクロールが一貫していません。毎回同じ高さでスクロールするわけではありません。

あなたはここでページを見ることができます:http://mnpwr.dk/v2/index.html

-周りに赤い境界線を追加したので、問題がわかりやすくなります。

jQuery:

jQuery.noConflict();

jQuery(document).ready(function () {
    getHash();
});

// Keep track of our current state
currentSection = 1;

function getHash() {

    jQuery('.scroll').on('click', function () {
        // Get our new state
        var gethash = jQuery(this).attr('class').split(' ')[0];
        // Calculate the difference, with element height of 500px using formular dest = (newPows - currentPos) * elmHeight
        var scrollTop = (gethash - currentSection) * 500
        jQuery('#contentDiv').animate({
            scrollTop: scrollTop
        }, 500);

        return false;

    });

}
4

1 に答える 1

0

CSSを追加するだけです

p{
 margin:0px;
}

これがあなたの「問題」を明らかにすることを願っています

次の問題は、高さが500pxの要素がある場合、要素の高さより1pxの赤い境界線を追加すると、実際には502になります:)
したがって、500 x 500をアニメーション化すると、位置が正確になりません。

単なる提案です。要素の位置を取得し、取得した値に.position()アニメーション化するために使用しますscrollTop

ライブデモ

于 2013-02-08T12:23:41.350 に答える