0

作業中のページのコアはhttp://jsfiddle.net/AUCYf/1/のようになり、ユーザーが検索エンジンからこのページにアクセスすると、検索された「トグル ボックス」内のコンテンツが開かれます。AJAX をクロール可能にするためのチュートリアルをたくさん見つけましたが、タイトルで言及したスクリプトの実装に行き詰まっています。

ボタン「LINK1」をクリックすると、div1 が開き、URL は mypage.com/#link1
になります。mypage.com/#link1 に直接アクセスするときに、その div1 を開く必要があります。また、複数の div を同時に開くことができるため、このような方法はありますか mypage.com/#link1&link3

4

1 に答える 1

0

jQuery BBQを使用してこれを実現する一般的な方法は、ウィンドウのhashchangeイベントにバインドして、ajaxハッシュ履歴ベースのナビゲーションを処理し、アプリの最初のロード時に手動でhashchangeイベントをトリガーすることです。

jQuery BBQは、パラメーター化されたハッシュ状態を使用し、複数のパラメーターを個別に管理できます。たとえば、URLは次のようになります。

mypage.com/#a=link1&b=link3

これを機能させるには、アンカーでhref = "#link1"だけでなく、BBQpushStateを使用するようにonclickイベントを変更する必要があります。

すべてをまとめると、次のようなものになります。

$('.show_hide1').click(function(){
    $.bbq.pushState({'a':'link1'});
});

...

$(window).bind( 'hashchange', function(e) {
    var state = $.bbq.getState();
    //do something with the state
    if(state['a'] === 'link1') {
        $(".slidingDiv1").fadeToggle();
    }
    ...
}

$(window).trigger('hashchange');

$(window) .trigger ('hashchange'); スクリプトがロードされると起動し、URLから適切なコンテンツを自動的にロードします。

ここでjQueryBBQのドキュメントを確認してください。複数のハッシュ状態を個別に管理するための、彼の例を確認することをお勧めします。

于 2012-08-01T03:05:23.030 に答える