javascript - window.scroll 在 Internet Explorer 11 中不起作用
问题描述
我有以下代码适用于除 on 之外的所有浏览器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不支持ScrollBehavior
尝试这个
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>
推荐阅读
- node.js - nodejs https请求中的证书问题
- regex - 有没有办法使用 sed 只删除完全匹配的字符串?
- ios - 协议不返回值
- dart - Flutter - 如何在其他人下定位小部件?
- java - 如何在 Mac OS 中使用 Brew 安装多个 JDK 次要版本(不是主要版本)
- awk - 提取适合字符模式的行,后跟可变数字
- kubernetes - 在 CNAME 重定向后,& 符号转义到“u0026”
- sharepoint - PowerApps 将复选框和用户名提交到列表
- javascript - 如何在量角器中扩展 ExpectedConditions
- kotlin - Kotlin:如何在扩展中调用同名的方法?