クリックされたリストアイテムに応じてコンテンツを表示/非表示にするこの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>
別のページのリンクにあるURLの最後に#desired_contentを追加しようとしましたが、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>
なぜこれが機能しないのかわかりません...