我试图同步2个div的滚动行为。
示例:
This site正是我正在尝试做的事情(在底部,滚动时左右同步)。
我的尝试:
我发现这个Fiddle 有点我想要做的事情。我尝试从这个代码开始,无法到达任何地方。这是代码:
var $divs = $('#div1, #div2');
var sync = function(e){
var $other = $divs.not(this).off('scroll'), other = $other.get(0);
var percentage = this.scrollTop / (this.scrollHeight - this.offsetHeight);
other.scrollTop = percentage * (other.scrollHeight - other.offsetHeight);
setTimeout( function(){ $other.on('scroll', sync ); },10);
}
$divs.on( 'scroll', sync);
这似乎是一个很好的方法,当你有两个并排高度不均匀的div。将是一个很酷的jQuery插件来构建。
编辑1:
我能够从第一个示例链接中解析并找到部分代码,我假设处理了这个,你可以在这里看到代码的一部分:https://gist.github.com/tenold/f6b77984c27d0bde99c2
编辑2:
我能够使上述代码正常工作,但它仍然非常混乱。 http://jsfiddle.net/tenold/xquLevc0/6/
答案 0 :(得分:1)
看起来你想使用
element.scrollTop / (element.scrollHeight - element.offsetHeight)
有一个共同的百分比滚动。
您需要像已有的那样设置循环,或者定期设置scrollTop值,就像在this answer中一样。
希望有所帮助!