2014-12-23 59 views
0

不工作得到了另一个今天一个,jQuery的scrollTo,插件在Firefox

所以我实现the jQuery scrollTo插件昨天,一切都在Chrome,IE浏览器工作正常,但不能在Firefox。控制台日志记录已启用 - 未显示错误。 似乎滚动功能确实执行,但我没有看到任何滚动发生。

在Windows 8.0下使用Firefox 28.0在OpenSUSE 12.3和Firefox 34.0下测试。

这里是到目前为止我的代码: HTML

$(document).ready(function() { 
    $('a.navLink').on('click', function(event) { 
     event.preventDefault(); 
     var target = $(this).attr('href'); 

     if(target.length) { 
      if($("html, body").scrollTo(target, { offset: -128, duration: 750, easing: "easeOutCirc" })) { 
       console.log("scrolling..."); 
      } else { 
       console.log("I had ONE job..."); 
      } 
     } 
    }); 
}); 

HTML:

<nav id="nav"> 
    <ul> 
     <li> 
      <a class="navLink" href="#home">HOME</a> 
     </li> 
     <li> 
      <a class="navLink" href="#info">INFO</a> 
     </li> 
     <li> 
      <a class="navLink" href="#pics">PICS</a> 
     </li> 
    </ul> 
</nav> 

<section id="home"> 
    <!-- stuff --> 
</section> 

<section id="info"> 
    <!-- stuff --> 
</section> 

<section id="pics"> 
    <!-- stuff --> 
</section> 

我看到了一个类似的问题在这里(无法找到URL ATM)的地方被发现的adblocker/security addOn/plug-In导致OP出现此问题。我的测试浏览器中没有安装这样的插件/插件。

任何帮助表示赞赏。

回答

0

试试这个:

$(document).ready(function() { 
    $('a.navLink').on('click', function(event) { 
     event.preventDefault(); 
     var target = $(this).attr('href'); 
     if(target.length > 0) { 
      $("html, body").animate({ 
       scrollTop: $(target).offset().top - 128 
      }, 750); 
     } 
    }); 
});