如何获取scrolltop不触发reflow
展开全部
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
div{
width:100px;
height:1000px;
background-color:#F00;
}
</style>
</head>
<body>
<input type="button" onclick="xx()">
<div></div>
<script type="text/javascript">
window.onscroll=function(){
console.log('a');
}
function xx(){
var d=window.onscroll;
window.onscroll=null;
document.body.scrollTop=100;
document.documentElement&&(document.documentElement.scrollTop=100);
window.setTimeout(function(){
window.onscroll=d;
},100);
}
</script>
</body>
</html>
先移除事件再绑定试试
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
div{
width:100px;
height:1000px;
background-color:#F00;
}
</style>
</head>
<body>
<input type="button" onclick="xx()">
<div></div>
<script type="text/javascript">
window.onscroll=function(){
console.log('a');
}
function xx(){
var d=window.onscroll;
window.onscroll=null;
document.body.scrollTop=100;
document.documentElement&&(document.documentElement.scrollTop=100);
window.setTimeout(function(){
window.onscroll=d;
},100);
}
</script>
</body>
</html>
先移除事件再绑定试试
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询