1

最近一直在个人网站上工作,并使用 jQuery ScrollTop 为我的内容 div 设置动画。但是我遇到了一个问题。

  • 第一个:每个涉及的顶部都有一个奇怪的填充

  • 第二:滚动不一致,即。它不会每次都滚动相同的高度。

你可以在这里看到页面: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;
}

希望这能澄清你的“问题”

你的下一个问题是,如果你有高度为 500 像素的元素,如果你添加一个 1 像素的红色边框,那么元素的高度实际上将是 502 :)
所以如果你将 500 设置为 500 的动画,则位置将不精确。

只是一个建议,用于.position()获取元素位置并scrollTop为检索到的值设置动画

现场演示

于 2013-02-08T12:23:41.350 回答