onhashchange事件
- 触发条件
location.hash发生改变的时候触发,
*注意hashchange事件触发并不会刷新页面,而只是页面的滚动(触发hashchange页面滚动的时候,还会触发一次对应容器的scroll 滚动事件)
*准确来说是hash发生了改变,滚动到展示对应的锚点前提是可以滚动,张鑫旭大神的锚点解说
2. 默认参数
window.onhashchange = function(e){}
/*
e --> HashChangeEvent 包含
{
oldURL, 原链接地址
newURL 改变之后的地址
}
也可以直接通过location.hash获取改变后的hash .
*/
常见作用
hashchange是一个兼容性很好的触发事件(IE8+)
hashchange能轻松实现的功能有
1.SPA的跳转
点击链接,修改hash,触发事件,控制页面的显示和隐藏.
SPA的跳转实现方式一般是基于hashchange 或者history API实现的