0

クリックされたリストアイテムに応じてコンテンツを表示/非表示にするこの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>

なぜこれが機能しないのかわかりません...

4

2 に答える 2

1

ハッシュURLは主にページ内アンカータグ(トップに戻るなど)に使用されているため、ハッシュURLを使用してページの特定のセクションに誰かを誘導することは非常に理にかなっています。

私が行ったことは、ページ上で、window.location.hashを介してハッシュURLを取得し、この文字列に基づいてページを操作することでした。

var myHash = window.location.hash;

if( myHash == "#desired_content" ){
// fade in option1
}else if( myHash == "#option2" ){
// fade in option2
}
于 2013-01-15T15:15:58.953 に答える
-1

最初のページでlocalStorageに変数を格納してから、2番目のページでlocalStorageから変数をロードすることをお勧めします。適切な目的ではないハッシュURLを渡すよりも簡単になります。

先頭ページ

<a href="secondPage.html" id="link">Go to second page</a>
<script type="text/javascript"> 
$(document).ready(function() {
$('#link').click(function(){
    // set your variable when someone click the link
    localStorage.setItem("myVariable", "someValue");
});
});
</script>

2ページ目

<script type="text/javascript"> 
$(document).ready(function() {
var yourVariable = localStorage.getItem("myVariable");
// do your stuff according to this variable that passed from firstpage
//...
});
</script>
于 2013-01-15T15:06:15.540 に答える