|
导读网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立... 网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。 本篇文章给大家带来的内容是关于javascript监听事件之监听页面滚动的内容解析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。监听事件 代码 function pageChange () {
// ... 页面滚动时,需要做的事情
}
window.addEventListener("scroll" , pageChange, false);知识点1、使用 window.addEventListener 和 document.addEventListener 来处理页面上的事件,区别仅仅在于:不同事件模型上,处理的顺序不一样。 捕获,window 先于 document 冒泡,document 先于 window 2、参数 1) type: String 事件的类型 2) listener: Function 侦听到事件后处理事件的函数 3) useCapture: Boolean(default = false) 冒泡阶段(目标本身到根节点)。 此处的参数确定侦听器是运行于捕获阶段、 目标阶段还是冒泡阶段。 要在所有三个阶段都侦听事件,请调用两次 addEventListener,一次将 useCapture 设置为 true,第二次再将useCapture 设置为 false。 4) priority: int (default = 0) 5) useWeakReference:Boolean (default = false) 获取页面滚动高度代码function getScrollTop() {
return window.pageYOffset
|| document.documentElement.scrollTop
|| document.body.scrollTop
|| 0;
}浏览器兼容性
其中,pageYOffset 属性返回文档在窗口左上角垂直方向滚动的像素 让页面滚动至指定位置 代码 /* 滚动动画
s: 当前页面滚动高度
sTop: 指定位置滚动高度
*/
function tabAnimation(s, sTop) {
var type = s < sTop ? true : false; // true 页面上滑
var timmer = requestAnimationFrame(function fn() {
if (type) { s+=50 }
else { s-=50 }
if((type && s > sTop) || (!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|^)" + cName + "(\\s|$)") )
}
function addClass( elements, cName ) {
if( !hasClass( elements,cName ) ) {
elements.className += " " + cName;
}
}
function removeClass( elements, cName ){
if( hasClass( elements,cName ) ){
elements.className = elements.className.replace( new RegExp( "(\\s|^)" + cName + "(\\s|$)" ), " " );
}
}以上就是javascript监听事件之监听页面滚动的内容解析的详细内容,更多请关注php中文网其它相关文章! 网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。 |
温馨提示:喜欢本站的话,请收藏一下本站!