同时滚动2个不同的元素

时间:2011-08-18 13:35:20

标签: javascript dom

如果我有一个textarea元素和一个div元素,我怎么能一次滚动它们? (当我滚动textarea时,我希望div做同样的事情)

我想使用纯javascript,尽可能使用简单的代码。

2 个答案:

答案 0 :(得分:6)

在这里回答:synchronize two scrolling bars in multiple selection box

var s1 = document.getElementById('Select1');
var s2 = document.getElementById('Select2');

function select_scroll_1(e) { s2.scrollTop = s1.scrollTop; }
function select_scroll_2(e) { s1.scrollTop = s2.scrollTop; }

s1.addEventListener('scroll', select_scroll_1, false);
s2.addEventListener('scroll', select_scroll_2, false);

答案 1 :(得分:0)

你需要做的就是使用与scroll事件相关联的函数将一个元素的scrollTop属性绑定到另一个元素的scrollTop。

有些事情:

$('.linked').scroll(function(){
    $('.linked').scrollTop($(this).scrollTop());    
})

使用该函数,只要您使用其中一个的滚动条,所有具有链接类的元素都将滚动。 (我假设垂直滚动,如果你想要水平,请使用scrollLeft做同样的事情)

有关上述内容的工作示例,请参阅http://jsfiddle.net/g8Krz/