【问题标题】:Button to scroll滚动按钮
【发布时间】:2025-12-11 18:45:02
【问题描述】:

当我单击 .down 时,我正在尝试滚动 .text 中的文本。我有一个隐藏溢出的简单文本。我这里有例子:http://jsbin.com/ofaquh/1/edit

一直在看jquery的scrollTo函数,但是我觉得不知道怎么用好:

$(function(){      
    $(".down").click(function() {
        $(".text").scrollTo(20);
    });
})

【问题讨论】:

标签: jquery scroll


【解决方案1】:

见小提琴:http://jsfiddle.net/AWQzg/

使用scrollTop()

$(function(){

$(".down").click(function() {
    $(".text").scrollTop(20);
});

})

请参阅:http://jsfiddle.net/AWQzg/1/,每次点击重复滚动 20 像素

$(function(){

$(".down").click(function() {
    $(".text").scrollTop($(".text").scrollTop() + 20);
});

})

【讨论】:

  • 你的回答很好,谢谢。谢谢你,我也可以做向上按钮了:jsfiddle.net/AWQzg/3 有没有可能用这么简单的方式制作一个完整的滚动条?
【解决方案2】:

.scrollTo()实际上是一个插件。

您可以使用.animate()scrollTop 并获得相同的结果:

$(".down").click(function() {
    $(".text").animate({ scrollTop: 200 });
});

jsBin Demo

【讨论】:

  • .scrollTo was vanilla JS first. 我还是一直把他们弄糊涂了。
  • 使用.animate 的最大好处是您可以使用'+=20' 而不是20 来保持滚动。 fiddle
  • 哎呀不小心删除了我的评论哈哈。是的,我喜欢动态加/减的能力。
  • 你的回答太棒了!它是如此干净和容易。我在这里也添加了向上按钮:jsbin.com/ofaquh/12/edit 有没有像这样简单的方法来添加条或参考以了解文本的长度?
  • 我不知道。我只是想学习新事物并改进这一点
【解决方案3】:

除非您使用的是 scrollTo 插件,否则我认为您想使用 jQuery 的 scrollTop 函数。

例如:$(".text").scrollTop(20);

或者,在 cmets 中回答您的问题,尝试:

var move = 20;     
$(".down").click(function() {
    $(".text").scrollTop(move);
        move += 20;
});

【讨论】:

  • 就是这样!每次点击时如何滚动 20px?
  • 更改您的函数以使用变量递增 scrollTop。查看我更新的答案和这个 jsbin jsbin.com/ofaquh/11/edit
  • 您的解决方案很棒。我试图添加向上按钮,但是当它到达底部时有一些奇怪的东西,它不能再次上升:jsbin.com/ofaquh/12/edit
  • 对不起,我给了你另一个答案的改编。带有您的代码的两个按钮的 jsbin 是这样的:jsbin.com/ofaquh/13/edit 这是有问题的那个。
  • 看起来您接受了这个问题的答案。你还需要帮助吗?