我正在将mousewheel.js库用于正在开发的水平滚动网站,并且试图包含一个菜单栏,用户可以在其中快速浏览不同部分。
当您第一次访问该站点并单击锚点链接时(无需先滚动),包装器将滚动到正确的位置。
但是,如果您在转到站点之前先滚动并单击链接,那么当您尝试单击该链接时,它将滚动到错误的位置。如果您先单击链接,然后滚动然后再次单击,则同样适用。
有人可以帮我吗?
var width = 0;
$('.wrapper-inner').children().each(function() {
width += $(this).outerWidth(true);
});
$('.wrapper-inner').css('width', width);
$(document).ready(function() {
$(".scrolling-wrapper").mousewheel(function(event, delta) {
this.scrollLeft -= (delta);
event.preventDefault();
});
$('.menu-sidebar > a').bind('click',function(event){
var $anchor = $(this);
$('.scrolling-wrapper').stop().animate({
scrollLeft: $($anchor.attr('href')).offset().left
}, 1000);
event.preventDefault();
});
});
链接到此处的示例: https://jsfiddle.net/foc9hrjw/1/