выберите меню не открывается после использования CSS-переключателя - PullRequest
0 голосов
/ 23 февраля 2012

Итак, у меня есть css-переключатель с поддержкой куки.Проблема в том, что когда я переключаю стиль и обновляю страницу, меню выбора интерфейса jquery больше не открывается.Это происходит только для версии форматирования текста.Если я закрою вкладку и снова открою ее, меню выбора с форматированием текста будет работать.Кто-нибудь может показать мне, что я здесь делаю неправильно?Вот код демо

css:

(function($)
{
$(document).ready(function() {
    $('.styleswitch').click(function()
    {
        switchStylestyle(this.getAttribute("rel"));
        return false;
    });
    var c = readCookie('style');
    if (c) switchStylestyle(c);
});

function switchStylestyle(styleName)
{
    $('link[@rel*=style][title]').each(function(i) 
    {
        this.disabled = true;
        if (this.getAttribute('title') == styleName) this.disabled = false;
    });
    createCookie('style', styleName, 365);
}
})(jQuery);
// cookie functions http://www.quirksmode.org/js/cookies.html

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=/";
}
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;
}
function eraseCookie(name)
{
createCookie(name,"",-1);
}
// /cookie functions
...