我想出了以下脚本来根据 url 中给出的#hashtag 在页面上执行操作。
function checkhash(){
x = window.location.hash.replace("#", "");
$('#results').html(x); //Just to show the results, Delete in your code
//Put your functions here....
if (x == 'all'){
$(".one").add(".two").add(".three").hide();
$(".one").show();
// and so on... just an example
}
window.setTimeout(checkhash, 1);
}
checkhash();
有没有比上面更好的方法?我问是因为在其当前形式下,它会不断地反复运行以检查新标签(我假设是因为我不能像我想的那样使用fadeIn 和fadeout 方法)。我的用途是直接链接到 /test.html#all 以加载特定内容或以按钮的形式链接到其页面上的#all。两者都用于排序目的,例如所有按钮,蓝色,绿色,红色,并且可以通过直接转到链接#hash 或使用#hash 的页面按钮链接来显示/隐藏特定内容来对页面进行排序.
它按原样工作(无法使用淡入淡出动画,但由于它不断运行,这是资源密集型的,我想尽可能避免这种情况。