我有一个单页滚动类型的网站,该网站使用滚动捕捉插件从一个部分捕捉到下一个部分。滚动到每个部分时,哈希值都会更改(#1,#2,#3等)。
我想使用哈希更改来触发动画。因此,在测试我编写的功能时,它仅在刷新页面后才有效。我无法发布网站本身,因为它是本地的,但这是代码。
JS:
$(document).ready(function () {
//Trigger an animation based on hash location/URL
function hashChange() {
alert("hashChange works!");
};
var hash = window.location.hash;
if (hash === '#3') {
hashChange();
};
});
任何帮助将不胜感激。
=======
更新:
这是我更新的代码。但是现在,它在每次哈希更改(#1,#2,#3,#4)上运行。
function hashChange() {
alert("hashChange works!");
};
window.addEventListener('hashchange', hashChange);
var hash = location.hash;
if (hash === '#3') {
hashChange();
};
有人知道如何指定吗?它也是一页滚动,可在滚动时捕捉到各个部分。当您从部分滚动时,哈希会发生变化,但不会触发我编写的警报。
帮帮我!
最佳答案
您可以为hashchange
事件注册一个事件侦听器。
在您的情况下:
function hashChange() {
alert('hashChange works!');
}
window.addEventListener('hashchange', hashChange);