jQuery window.location.hash麻烦

时间:2015-10-22 20:57:28

标签: javascript jquery hash location

我有一个单页滚动类型的网站,它使用滚动捕捉插件从一个部分捕捉到下一个部分。当每个部分滚动到时,哈希值会改变(#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();
};

有谁知道如何指定它?此外,它是一个单页滚动,在您滚动时捕捉到部分。当您从节中滚动时,哈希值会发生变化,但它不会触发我写的警报。

帮助!

1 个答案:

答案 0 :(得分:2)

您可以为function hashChange() { alert('hashChange works!'); } window.addEventListener('hashchange', hashChange); 事件注册事件监听器。

在你的情况下:

string STRout = foo.AccountInfo(email, serialNum, "TEST2");