jquery在两列中的滚动效果

jquery在两列中的滚动效果,jquery,html,css,Jquery,Html,Css,您好,我正在使用小提琴链接移动一个向上方向和向下方向的第二个div在同一时间 对于左列,它可以正常工作,但我希望右列具有相同的功能 我正在使用这个链接 [example][1] 只需对右列执行与对左列相同的操作: $("#right").on("scroll", function () { var scrolledleft = parseInt($("#right").scrollTop()) * -1; console.log(scrolledleft + scrolledr

您好,我正在使用小提琴链接移动一个向上方向和向下方向的第二个div在同一时间

对于左列,它可以正常工作,但我希望右列具有相同的功能

我正在使用这个链接

[example][1]

只需对右列执行与对左列相同的操作:

$("#right").on("scroll", function () {
    var scrolledleft = parseInt($("#right").scrollTop()) * -1;
    console.log(scrolledleft + scrolledright)
    $("#left").scrollTop(scrolledleft + scrolledright)
});
编辑:Firefox在以编程方式使用scrollTop时似乎会触发scroll事件。这意味着左div中的滚动会触发右div中的滚动,反之亦然。要避免这种情况,请使用额外的varialbe preventEvent:


我在铬合金和IE中测试了它。它对我来说工作快速流畅。
var preventEvent = false;
// Add event listener for scrolling
$("#left").on("scroll", function (e) {
    if(preventEvent) {
        preventEvent = false;
        return;
    }
    preventEvent = true;
    var scrolledleft = parseInt($("#left").scrollTop()) * -1;
    $("#right").scrollTop(scrolledleft + scrolledright);
});

// Add event listener for scrolling
$("#right").on("scroll", function (e) {
    if(preventEvent) {
        preventEvent = false;
        return;
    }
    preventEvent = true;
    var scrolledleft = parseInt($("#right").scrollTop()) * -1;
    $("#left").scrollTop(scrolledleft + scrolledright)
});