2012-05-09 11 views
1

サイドバーの状態をクッキーに保持する必要があります。だから私はサイドバーのボタンを隠すだけでclikをやったのですが、私はその状態を維持するためにクッキーを作りました。次のコードを見てください。JQuery ui show()メソッドとワードプレスのクッキーとの競合

//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(); 
    } 
} 

hidesidarボタンのコードが従う

// 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); 
}); 

としてhidesidebarする今、私はそれがなければならない私のコードとして今

var sidebarval = readCookie('sidebarval'); 

に従うようCookieデータIDを取得するvarible JSを持っています実行する必要がありますが、私はこれを許可しませんクッキーの値を取得するとき

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); 

どのようにこのことが可能か教えてください。おかげさまで

+0

uはuが私は理解していないhttp://jsfiddle.net/ – Thulasiram

答えて

0

JQuery UIファイルをプロジェクトに含める必要があります。一番上のショーは、JQueryのデフォルトのコード・ライブラリーにあるので、あなたのために働きます。ボトムshowメソッドは、動作しないメソッドで、JQuery UI Effects Coreの一部です。このオプションを組み込んだJQuery UIファイルを自分でビルドする必要があります。ここで

がショーの機能へのリンクです: http://jqueryui.com/demos/show/

+0

でコードHTMLとjQueryコードrを貼り付けることができます。これは何を意味するのでしょうか? "それはサイドバーではなくメインコンテナを表示して表示するだけです"。あなたはjsfiddleを設定できますか? – Jon

関連する問題