2016-06-01 10 views
0

私はいくつかのhtmlページを同じように設計しています。サイドメニューバーがあり、ボタンが押されるとそれが閉じて、ボタンが再び通常サイズに押されると「ミニバー」になります。それは完璧に唯一の問題は完全に動作します。次のページに移動すると、自動的に「フルバージョン」に戻ります。同じ状態をページ間に張り付ける方法はありますか?最初のページにミニバーがあるとあなたはミニバーがまだそこにあり、リセットしていない次のページに行きますか?表示されている場合、複数のページ "mini bar"の同じCSSを維持しています

<body class="pace-done mini-navbar"> 

<body class="pace-done"> 

答えて

2

Idは一つの可能​​な解決策が開いて、その状態を追加することであると言う/クッキー変数を、このようにして、新しいページが/閉じ開いたときに、値が保存されますに閉じました。 https://github.com/carhartl/jquery-cookie をして使用する方法の例のために、 はこちらを参照してください、そして、あなたのファイルに含まれます:

まずこれを取得後How do I set/unset cookie with jQuery?

あなたはすべてのことを理解すれば、その後にすばやくnは汚いの例を与えるためにあなた

(擬似コード)(jQueryの)

$(document).ready(function(){ 

    //set cookie here 
    $.cookie("IsBoxOpen", "yes"); //meaning yes its open on default 

    $('#buttonToCLickHere').on("click", function(){ 
     if(box is open){ 
      //then close it with css/js etc but then save its state 
      //code to close it visually here, then 
      $.cookie("IsBoxOpen", "no"); //meaning now itll be closed 
     } else { 
      //do the opposite here, and then also save its status with the cookie. 
      } 
    }); 

}); 

このように、誰かがボックスを開く/閉じる(またはボタンをクリックする)たびに、その状態がクッキーに保存され、ユーザーはページ間で差分を知ることはありません。

OHとPSの場合、このコードはすべてのページでチェックが行われるようにfooter.phpまたはheader.phpファイル(またはHTML)に入れなければなりません。

希望すると、これが正しい方向に手助けしてくれます。

関連する問題