(!type && s < sTop)) {
// $el.scrollTop = sTop;
window.scrollTo(0, sTop);
} else {
// $el.scrollTop = s;
window.scrollTo(0, s);
timmer = requestAnimationFrame(fn);
}
});
}
说明
window.requestAnimationFrame() 方法告诉浏览器您希望执行动画并请求浏览器在下一次重绘之前调用指定的函数来更新动画。该方法使用一个回调函数作为参数,这个回调函数会在浏览器重绘之前调用。
当你需要更新屏幕画面时就可以调用此方法。在浏览器下次重绘前执行回调函数。回调的次数通常是每秒60次,但大多数浏览器通常匹配 W3C 所建议的刷新频率。
在大多数浏览器里,当运行在后台标签页或者隐藏的<iframe> 里时,requestAnimationFrame() 会暂停调用以提升性能和电池寿命。
原生方法实现 addClass、removeClass 和 hasClass
function hasClass( elements, cName ) {
return !!elements.className.match( new RegExp( "(\\s 关键词:javascript监听事件之监听页面滚动的内容解析