2016-09-01 8 views
1

私は隠す一連のタブと内容を持っています。私は#1#2などのURLを添付しました。つまり、誰かがタブをクリックするとURLにそれを追加し、次にonhashaschangedを使います。ここにコードがあります。Jquery on Hash変更とブラウザの戻るボタン。

jQuery(".slidelinks li").click(function() { 


    var identify=jQuery(".slidelinks li").index(this); 
window.location = "#" + identify ; 

if ("onhashchange" in window) { 
     jQuery(".slidelinks li ").addClass('active'); 

    jQuery(".slidelinks li ").removeClass('active'); 
jQuery(".slides").find('.dslc-modules-area').eq(identify).removeClass("hide"); 
    jQuery(".slidelinks li ").eq(identify).addClass('active'); 
} 


}); 

私はこれをクリックして接続されていることを理解し、私は戻るボタンまたは転送を使用する場合は、タブを表示するために取得する方法を把握しようとしています。私はクリックの外でonhaschangeを使用して検出しようとしましたが、何かがバック・ボタンで起こっても何も起こらないかどうかを確認します。私の質問は、バックボタンがmydomain.com/page/#3からmydomain.com/page/#2に戻って使用されている場合、どのようにonhaschange関数を実行することができるかです。

答えて

0

誰かが想像していると思います。 私はこのプラグインを使用しました。 https://github.com/cowboy/jquery-hashchange

に変更し、以下のコードに変更しました。

jQuery(function(){ 

    // Bind the event. 
    jQuery(window).hashchange(function(){ 
var locationminushas=location.hash.substring(1); 

     jQuery(".slidelinks li ").addClass('active'); 

    jQuery(".slidelinks li ").removeClass('active'); 
jQuery(".slides").find('.dslc-modules-area').addClass("hide"); 
jQuery(".slides").find('.dslc-modules-area').eq(locationminushas).removeClass("hide"); 
    jQuery(".slidelinks li ").eq(locationminushas).addClass('active'); 
    }) 

    // Trigger the event (useful on page load). 
    jQuery(window).hashchange(); 

}); 
関連する問題