JQuery .animate()没有在IE上工作

时间:2017-10-03 10:39:13

标签: javascript jquery

我的JQuery .animate()函数似乎无法在IE上运行。你能帮我把它变成一个纯粹的JS解决方案吗?

var brandLink = $('#brand');
var pageTop = $('#page-top');
var navLinks = $('.nav-link');
var offerSection = $('#offer');
var techSection = $('#tech');
var portfolioSection = $('#portfolio');
var contactSection = $('#contact');
var moreBtn = $('.more-button');

navLinks.eq(0).click(() => {
    $('html, body').animate({
        scrollTop: pageTop.offset().top
    }, 500);
});

正如您所看到的,它用于在One page网站中将页面滚动到propper部分/ page-top。

有人可以解释为什么animate()不能在IE上工作吗?

2 个答案:

答案 0 :(得分:1)

快速拍摄,试试:

var brandLink = $('#brand');
var pageTop = $('#page-top');
var navLinks = $('.nav-link');
var offerSection = $('#offer');
var techSection = $('#tech');
var portfolioSection = $('#portfolio');
var contactSection = $('#contact');
var moreBtn = $('.more-button');

navLinks.eq(0).click(function(e) {
    e.preventDefault(); // to prevent native behaviour of the thing you press
    $('html, body').animate({
        scrollTop: pageTop.offset().top
    }, 500);
});

答案 1 :(得分:0)

根据您需要支持的IE版本,请查看this site。你会发现一些可能有帮助的通用转变。

另请查看this(添加preventDefault();以确保脚本正常运行)。