2013-09-29 4 views
0

У меня есть следующая функция, которая переключает MouseEnter и MouseLeave по щелчку:JQuery функция переключения и установить куки

var flag = true; 
$('.aaa').mouseenter(function() { 
    if(flag) { 
    $(this).css('background', '#aaaaaa'); 
    } 
    $(this).css('border', 'solid 1px red'); 
}); 
$('.aaa').mouseleave(function() { 
    if(flag) { 
    $(this).css('background','blue'); 
    } 
    $(this).css('border', 'solid transparent 1px'); 
}); 
$('#tog').click(function() { 
    flag = !flag; 
}); 

http://jsfiddle.net/z8KuE/15/

Как выбрано предпочтение быть «вспомнили» и загружены на следующей странице загрузки ?

редактировать: в случае, если решение из сильфона не работает на сайте по какой-то причине, просто положить его здесь:

(function($){ 
    $(document).ready(function(){ 
     //Scripts go in here! 
    }); 
})(jQuery); 

ответ

2

Я хотел бы использовать jQuery cookie plugin:

var storedFlag = $.cookie('userSelection'); // read cookie 
var flag = 1; //default value 
if(storedFlag != undefined){ // some flag was stored 
    flag = storedFlag; 
} 
$('.aaa').mouseenter(function() { 
    if(flag > 0) { 
     $(this).css('background', '#aaaaaa'); 
    } 
    $(this).css('border', 'solid 1px red'); 
}); 
$('.aaa').mouseleave(function() { 
    if(flag > 0) { 
     $(this).css('background','blue'); 
    } 
    $(this).css('border', 'solid transparent 1px'); 
}); 
$('#tog').click(function() { 
    flag = 1 - flag; 
    $.cookie('userSelection', flag, { expires: 30 }); // store cookie 
}); 

Проблема в том, что логические значения хранятся в виде строк, а строка «false» - это истинное значение, поэтому я использовал цифры и сравнение >0.

updated fiddle

+0

Благодарим за помощь. Я пробовал с единственным файлом jquery.cookie.js и всей папкой плагина, и я попытался добавить ваш код в toggle f (тот же .js-файл), и я попытался с отдельным файлом .js - ничего не работает. (toggle f отключается в случае одного файла). Есть ли другой способ сделать это (с этим плагином или без него)? – weaponx

+0

@weaponx ответ обновлен –

+0

Вы можете AJAX создать скрипт PHP для установки файлов cookie? – GroovyCarrot

Смежные вопросы