Javascript onScroll在Chrome中滚动至行为平滑
有人能解释一下为什么window.scrollTo不能在Chrome中的window.onscroll事件中正常工作吗?fiddle中的示例是使用element.scrollIntoView,但行为是相同的。平滑的滚动非常慢 HTML JSJavascript onScroll在Chrome中滚动至行为平滑,javascript,scroll,Javascript,Scroll,有人能解释一下为什么window.scrollTo不能在Chrome中的window.onscroll事件中正常工作吗?fiddle中的示例是使用element.scrollIntoView,但行为是相同的。平滑的滚动非常慢 HTML JS Fiddle:您应该在滚动开始后删除侦听器,以避免多次执行: function onScroll(event) { window.removeEventListener("scroll", onScroll); var bottomel = doc
Fiddle:您应该在滚动开始后删除侦听器,以避免多次执行:
function onScroll(event) {
window.removeEventListener("scroll", onScroll);
var bottomel = document.getElementById("bottom");
var newscroll = window.pageYOffset;
if (newscroll > 0) {
bottomel.scrollIntoView({
block: "start",
behavior: "smooth"
});
}
event.preventDefault();
};
window.addEventListener("scroll", onScroll);
*{
margin:0;
padding:0
}
body {
background-image: radial-gradient(#166664 0%, #252233 80%);
}
#top {
height: 100vh;
background-color: rgba(255,255,255,0.3);
}
#bottom {
height: 1800px;
background-color: rgba(0,0,0,0.3);
}
window.addEventListener("scroll", function(event) {
var bottomel = document.getElementById("bottom");
var newscroll = window.pageYOffset;
if (newscroll > 0) {
bottomel.scrollIntoView({
block: "start",
behavior: "smooth"
});
}
});
function onScroll(event) {
window.removeEventListener("scroll", onScroll);
var bottomel = document.getElementById("bottom");
var newscroll = window.pageYOffset;
if (newscroll > 0) {
bottomel.scrollIntoView({
block: "start",
behavior: "smooth"
});
}
event.preventDefault();
};
window.addEventListener("scroll", onScroll);