0

我想要的是使用比我拥有的功能更平滑的向下和向上滚动效果。

我有一个外部 div(带有溢出:隐藏)和一个宽度较小的 div(class='all_content')。

<a href='#' class='up'>Up</a> 
<a href='#' class='down'>Down</a>
<div class='container'>
<div class='all_content'> All the content is here </div>
</div>

我有那个代码:

$(".down").click(function () {
        $(".all_content").animate({marginTop: '-=20px'}, 0);
    });

$(".up").click(function () {
        $(".all_content").animate({ marginTop: '+=20px' }, 0);
    }); 

但是 +20px 的边距感觉真的很草率。

我可以使用 slideDown() 吗?我应该使用 scrollTop 吗?

提前致谢

4

3 回答 3

2

你会想要scrollTo()插件,你可以这样调用它:

$(".all_content").scrollTo({top: "+20px"}, 1000);

编辑:这是您发布的代码的修订版:

$(".down").click(function() {
    $(".all_content").scrollTo({
        top: '-=20px'
    }, 1000);
});

$(".up").click(function() {
    $(".all_content").scrollTo({
        top: '+=20px'
    }, 1000);
});​

确保scrollTo在包含主 js 文件之前包含插件。

于 2012-04-07T02:00:57.787 回答
0

不应该是一个问题,如果你定义你的 div 与溢出:滚动是这样的:

div 
{
    width:150px;
    height:150px;
    overflow:scroll;
}
于 2012-04-07T02:01:18.230 回答
0

您可以使用 jquery scrollTop() 方法:

$(".all_content").scrollTop(20);
于 2012-04-07T02:05:16.023 回答