jQuerycookieプラグインは非常に使いやすいです。基本的に、トグルを使用する場合は、Cookieを介してフラグを設定する必要があります。
サイト全体に値を設定するには、次のような簡単なステートメントが機能します。
$.cookie("currentToggle", "on", {path: "/"});
そして、必要なときに値を取得するには、次を使用します。
var currentState = $.cookie("currentToggle");
トグルをどのように使用するかは正確にはわかりませんが、たとえば、複数のページにわたって状態を追跡する必要があるとします。トグルが起動したときにCookieを簡単に設定して、どの状態(オン/オフなど)であるかを追跡できます。他のページの読み込み中に、一般的なスクリプトがCookieをチェックし、フラグに基づいてトグルを設定できます。これにより、サイトがページ間で以前の状態を「記憶」しているように見えます。
とにかくサンプル使用だけです。お役に立てれば。
jQuery Cookieプラグイン:http://www.stilbuero.de/2006/09/17/cookie-plugin-for-jquery/
編集して実装サンプルを提供します。
これが機能するサンプル実装です。jQueryとjQuerycookieプラグインを参照し、1つのcss定義を指定する必要があります。すべてのスクリプトとCSSが各ページで定義されている場合、複数のページで機能します。
Javascript:
$(document).ready(function() {
var button = $('#hideButton');
//check the cookie when the page loads
if ($.cookie('currentToggle') === 'hidden') {
togglePanel(button, false);
}
else {
togglePanel(button, true);
}
//handle the clicking of the show/hide toggle button
button.click(function() {
//toggle the panel as required, base on current state
if (button.text() === "+Show") {
togglePanel($(this), true);
}
else {
togglePanel($(this), false);
}
});
});
function togglePanel(button, show) {
var panel = $('#panel');
if (show) {
panel.removeClass('hidden');
button.text('-Hide');
$.cookie('currentToggle', '', { path: '/' });
}
else {
panel.addClass('hidden');
button.text('+Show');
$.cookie('currentToggle', 'hidden', { path: '/' });
}
}
CSS:
.hidden
{
display: none;
}
マークアップ:
<a id="hideButton" href="javascript:;">-Hide</a>
<div id="panel">
<p>Hello World</p>
</div>
それを実装するためのより効率的な方法はおそらくたくさんありますが、概念実証のために上記はうまく機能します。