window.scroll在Internet Explorer 11中不起作用



我有以下代码,除IE11外,它适用于所有浏览器。你知道问题出在哪里吗?

function scrollIntoWarranty() {
var offset = 50;
var el = document.querySelector("#tr_tab_2");
window.scroll({ top: (el.offsetTop - offset), left: 0, behavior: 'smooth' });
}
<a href="#" onclick="scrollIntoWarranty(); return false;">
Go to warranty
</a>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<div id="tr_tab_2">Warranty</div>

IE 不支持滚动行为

试试这个

function scrollIntoWarranty() {
var el = document.querySelector("#tr_tab_2");
if ('scrollBehavior' in document.documentElement.style) { // behavior is not supported by IE
var offset = 50;
window.scroll({ top: (el.offsetTop - offset), left: 0, behavior: 'smooth' });
} else {
el.scrollIntoView();
}
}
<a href="#" onclick="scrollIntoWarranty(); return false;">
Go to warranty
</a>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<div id="tr_tab_2">Warranty</div>

最新更新