2017-09-06 92 views
9

從Chrome 61開始,我在滾動瀏覽jquery 3.2.1命令時遇到了很多問題。它不再滾動。Chrome 61 jQuery滾動不再工作

Chrome給我的控制檯通知(該頁面是最後更新2017年4月12日)。

眨眼推遲了一項任務,以使滾動更順暢。你的計時器和網絡任務應該運行少於50ms以避免這種情況。有關更多信息,請參閱https://developers.google.com/web/tools/chrome-devtools/profile/evaluate-performance/railhttps://crbug.com/574343#c40

例子:

console.log("start"); 
$('body').animate({ 
    scrollTop : $('#id').offset().top - 100 
},3000,function(e) { 
    console.log("end"); 
}); 

有沒有人有一個想法是什麼原因是什麼,我可以用它做什麼?

回答

10

看來,溢出,並在當前版本的HTML(像-moz。退房this question,我做了一個同時GO)

$(function() { 
    console.log("start"); 
    $('html').animate({ 
     scrollTop: $('#my-id').offset().top - 100 
    }, 3000, function(e) { 
     console.log("end"); 
    }); 
}); 

https://jsfiddle.net/4ebggecv/

或者你也可以添加這些風格,並保持身體動畫

html { 
    overflow: hidden; 
    height: 100%; 
} 
body { 
    height: 100%; 
    overflow: auto; 
} 

https://jsfiddle.net/ykyt58ac/1/

+3

我沒有收到問題中提到的警告,只是將它從$('body')。animate(...)'改爲'$('html')。animate(...)'fixed我的問題。這只是Chrome 61之後的問題 –