Javascript 水平滚动以跟随垂直滚动位置,反之亦然

Javascript 水平滚动以跟随垂直滚动位置,反之亦然,javascript,jquery,html,scroll,Javascript,Jquery,Html,Scroll,我可以用一种方法让它工作。但是水平滚动根本不起作用 $(document).scroll(function() { $(document).scrollLeft($(document).scrollTop()); }); 我怎样才能使它双向工作?水平滚动跟随垂直,当我水平滚动时,垂直滚动跟随向左滚动位置 另外,Chrome新的平滑滚动功能似乎使鼠标滚轮无法滚动(它在Opera 35中使用阶梯滚动效果很好)。如何使用它?您需要区分水平滚动和垂直滚动。类似这样的方法会奏效: var last

我可以用一种方法让它工作。但是水平滚动根本不起作用

$(document).scroll(function() {
  $(document).scrollLeft($(document).scrollTop());
});

我怎样才能使它双向工作?水平滚动跟随垂直,当我水平滚动时,垂直滚动跟随向左滚动位置


另外,Chrome新的平滑滚动功能似乎使鼠标滚轮无法滚动(它在Opera 35中使用阶梯滚动效果很好)。如何使用它?您需要区分水平滚动和垂直滚动。类似这样的方法会奏效:

var lastScrollLeft = 0;
$(window).scroll(function() {
    var documentScrollLeft = $(document).scrollLeft();
    if (lastScrollLeft != documentScrollLeft) {
        //horizontal scroll
        lastScrollLeft = documentScrollLeft;
        $(document).scrollTop($(document).scrollLeft());
    } else {
            //vertical scroll
        $(document).scrollLeft($(document).scrollTop());
    }
});
更新小提琴:


希望有帮助

您需要区分水平滚动和垂直滚动。类似这样的方法会奏效:

var lastScrollLeft = 0;
$(window).scroll(function() {
    var documentScrollLeft = $(document).scrollLeft();
    if (lastScrollLeft != documentScrollLeft) {
        //horizontal scroll
        lastScrollLeft = documentScrollLeft;
        $(document).scrollTop($(document).scrollLeft());
    } else {
            //vertical scroll
        $(document).scrollLeft($(document).scrollTop());
    }
});
更新小提琴:

希望有帮助