内部锚点在第一次使用mousewheel.js进行水平滚动后不起作用

时间:2018-07-24 10:50:17

标签: javascript jquery html css

我正在将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/

0 个答案:

没有答案