2011-01-22 76 views
0

我有两个相邻高度相同的高和窄元素。当我滚动这两个元素中的一个时,我希望另一个滚动它。获取一个元素以匹配另一个元素的滚动

我该如何使用jQuery来做到这一点?我试过ScrollTo插件,但文档非常糟糕,我无法弄清楚如何使用它。

回答

2

这可以用一些简单的jQuery完成,如this example (link)所示。

基本上,你只需设置一个DIV的.scrollTop()来模拟天生另一个在scroll()事件处理程序:

$('#leader').scroll(function(e){ 
    $('#copycat').scrollTop($(this).scrollTop()); 
}); 
0

请通过this教程和改变像你想

0

什么这是不是你正在寻找的答案的代码,但它需要说:你在做什么是不好的设计,它具有之前已经做过很多次了,从来都不是很好的用户界面的一部分。不要浪费大量的精力来创建一个与浏览器对抗的解决方案,而是要花费更多的设计,并且更容易实现。

在你的情况:如果你希望两个对象列表滚动在一起,让他们生活在一个单一的滚动条下。

例如,如果它是两个多个选择框,请确保它们都具有其内容的全部高度,以便它们的滚动条变为不活动/消失,然后将它们包装在较小高度的div中,并将其设置为overflow: scroll

一般情况下,如果您遇到类似这样的情况,没有明确而简单的方法来做到这一点,请停下来想一想为什么,也许您会意识到这是因为这是一个坏主意。

这肯定不会总是如此,但通常它会。

+0

“它从来就不是一个很好的用户接口的一部分。”上帝,我讨厌使用没有它的`diff` GUI。 – 2011-01-22 15:18:27

+0

为什么? - 首先,几个diff工具没有多个滚动条,原因很明显 - 为什么两个滚动条不能独立工作?在我看来,像秒滚动条将无缘无故地占用空间,除非有一个关闭同时滚动功能并使它们再次独立的开关。我知道,对于大多数开发人员来说,良好的用户界面很难掌握,因为他们是工程师的核心,但对于无缘无故的滚动条来说,这一点看起来对我来说是不容易的。 – 2011-01-22 15:43:29

相关问题