我有一个触发此功能的 onclick:
function thread2M() {
var elmnt = document.getElementById("scroll2");
elmnt.scrollIntoView({behavior: "smooth", block: "center", inline: "center"});
}
它将页面滚动到特定像素(div)并将其居中。当然,scrollIntoViewOptions 在 Safari 中不起作用,所以我想退回到 scrollIntoView() 或 scrollTo()。
我试过了:
function thread2M() {
var elmnt = document.getElementById("scroll2");
try {
elmnt.scrollIntoView({behavior: "smooth", block: "center", inline: "center"});
} catch {
elmnt.scrollIntoView(true);
}
}
和
function thread2M() {
if (typeof document.body.scrollIntoView === 'function') {
var elmnt = document.getElementById("scroll2");
elmnt.scrollIntoView({behavior: "smooth", block: "center", inline: "center"});}
else {window.scrollTo(782, 280);}
}
但没有启动滚动。我什至没有 JS 如何工作的基本知识,所以答案可能与基础有关,但我无法找到解决方案。我想我只需要测试 scrollIntoViewOptions 是否有效,如果为 true,则运行一个脚本,如果为 false,则运行另一个脚本。
答案赞赏,谢谢。