Cookie でサイドバーの状態を維持する必要があります。そのため、サイドバーを非表示にするボタンをクリックするだけで、その状態を維持するためにCookieを作成しました。次のコードを見てください。
//Create Cookie function which is usefull to create cookies
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
//Read Cookie function which is usefull to read cookies vlues
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
//Earse Cookie function which is usefull to earise cookies vlues
function eraseCookie(name) {
createCookie(name,"",-1);
}
// This function is used for sidebar state managemnet operations.
function checksidebarstatus()
{
var sidebarval = '';
sidebarval = readCookie('sidebarval');
if(sidebarval == 'hide')
{
jQuery(".show-sidebar").fadeIn();
jQuery("#main").css( "width","950" );
jQuery("#sidebar").hide();
}
}
次のように hidesidebar ボタンコードを非表示にする場合
// Sidebar Animation
jQuery("#hide-sidebar").click(function(){
if(sidebarval == "hide")
{
//jQuery("#sidebar").delay(500).hide("slow");
jQuery("#sidebar").hide("slide", { direction: "left" }, 500);
}else
{
jQuery("#sidebar").hide("slide", { direction: "left" }, 500);
}
jQuery("#main").delay(500).animate({
width: 950
}, 1000 );
jQuery(".show-sidebar").delay(1500).fadeIn();
createCookie('sidebarval','hide',7);
});
jQuery("#show-sidebar").click(function(){
jQuery(".show-sidebar").fadeOut();
jQuery("#main").animate({
width: 760
}, 500 );
if(sidebarval == "hide")
{
//jQuery("#sidebar").delay(500).show("slow");
jQuery("#sidebar").delay(500).show("slide", { direction: "left" }, 1000);
}else
{
jQuery("#sidebar").delay(500).show("slide", { direction: "left" }, 1000);
}
createCookie('sidebarval','show',7);
});
今、私は次のようにクッキーデータIDを取得するためのjs変数を持っています
var sidebarval = readCookie('sidebarval');
コードを実行する必要がありますが、Cookie の値を取得すると、これは許可されません
jQuery("#sidebar").delay(500).show("slide", { direction: "left" }, 1000);
この行のコメントを外すと、この show メソッドが機能します。
jQuery("#sidebar").delay(500).show("slow");
//jQuery("#sidebar").delay(500).show("slide", { direction: "left" }, 1000);
これがどのように可能であるかを誰かに教えてもらえますか。ありがとう。