SmoothScoll和lightbox冲突

时间:2016-08-03 15:47:33

标签: javascript scroll lightbox conflict smooth-scrolling

this website,而且Smoothscroll javascript和lightbox之间存在冲突。

这是Scroll的脚本

$(function() {
    $('a[href*="#"]:not([href="#"])').click(function() {
      if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
        var target = $(this.hash);
        target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
        if (target.length) {
          $('html, body').animate({
            scrollTop: target.offset().top
          }, 1000);
          return false;
        }
      }
    });
  });

我该如何解决?如何使灯箱和平滑滚动同时工作?

1 个答案:

答案 0 :(得分:0)

我不是jQuery专家,也不知道选择器有多灵活,但这里有一些建议:

建议1:

我不认为这个选择器:

a[href*="#"]:not([href="#"])

将正常运作。如果他们没有属性值"#",您可以选择所有href元素。我认为这个案例并没有像你一样用不同的价值来覆盖这些链接:"#queen-bee"。我认为你要使用不同的选择器。

建议2:

if (target.length) {
   $('html, body').animate({
      scrollTop: target.offset().top
   }, 1000);

   return false; // Try removing the return
}

return语句可以防止事件冒泡,因此灯箱不会收到它。尝试删除它。