我有这个 jQuery,它根据单击的列表项显示/隐藏内容。我还希望能够在登陆此页面时显示特定内容,具体取决于用户在另一个页面上单击的链接。
我知道要做到这一点,我必须以某种方式从另一个链接中携带变量,并使其充当变量。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#side_nav ul li a').click(function() {
$('#side_nav ul li.current').removeClass('current');
$(this).parent().addClass('current');
var filterVal = $(this).attr('class');
$('#content div.section').each(function() {
if($(this).hasClass(filterVal)) {
$(this).fadeIn(200);
} else {
$(this).hide();
}
});
return false;
});
});
</script>
我尝试将#desired_content 添加到单独页面上链接的url末尾,我知道使用window.location.hash,我可以以某种方式将该哈希标签作为变量拉入,但我完全迷失了如何做到这一点。
请帮忙。
编辑:我将此添加到外部页面:
<li><a href="./about.html#how_it_works">HOW IT WORKS</a></li>
这到目标页面,只是为了测试是否正在添加类
<script type="text/javascript">
$(document).ready(function() {
var myHash = window.location.hash;
if( myHash == "#how_it_works" ){
$('#content div.how_it_works').addClass('test');
}else if( myHash == "#option2" ){
// fade in option2
}
});
</script>
我不明白为什么这不起作用...