Работа JS. Не работают события.

Купить VPN
Профессиональная разработка сайта
БИРЖА РЕКЛАМЫ С ПРЯМЫМИ ССЫЛКАМИ [+]
Печать / RSS
2


Землянин
0
Здравствуйте. При разработки небольшого приложения для сайта я столкнулся с такой проблемой. У меня есть некий скрипт, например:

Добавлено через 01:17 сек.
$(document).ready(function () {

var date = new Date( new Date().getTime() + 60*1000 );

function getCookie(name) {
var matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
}

if(getCookie("specPanel")=="on"){
specStyle(getCookie("fontSize"),getCookie("bg"),getCookie("fontColor"));
$("#btn-spec").html("Стандартная версия сайта");
$("#setting-spec").css({'display':'block'});
}

function specStyle(fontSize, bg, fontColor){
$("html, font, p, a, b:no t(.not), span:no t(.not), table td, .main_menu").css({"color":fontColor, "background-image":"none","background-color" : bg, 'font-size': fontSize, "font-style":"normal","font-family": "Geneva, Arial, Helvetica, sans-serif"});
$("#logotip table a").html("В помощь студенту заочнику.");
$(".main_menu img,marquee,#logotip table a img").css({"display":"none"});
$(".main_menu").css({"margin":"20px 0 20px"});
$("#footer").css({"margin":"30px 0 30px"});

$(".blog_small_row b, .blog_small_row a").css({'font-size': fontSize});
$("#logo_text font").css({"font-size":"40px"});
}

Землянин
0
	$("#btn-spec").click(function () {
if (!navigator.cookieEnabled) {
alert('Включите cookie для комфортной работы с этим сайтом');
}
if($("#btn-spec").html()== "Включить версию для слабовидящих"){
$("#btn-spec").html("Стандартная версия сайта");
$("#setting-spec").css({'display':'block'});
document.cookie="fontSize=18px; path=/; expires="+date.toUTCString();
document.cookie="bg=#fff; path=/; expires="+date.toUTCString();
document.cookie="fontColor=#000; path=/; expires="+date.toUTCString();
//document.cookie="fontSize=18px; path=/; expires="+date.toUTCString();
document.cookie="specPanel=on; path=/; expires="+date.toUTCString();

specStyle(getCookie("fontSize"),getCookie("bg"),getCookie("fontColor"));
}else{
$("#btn-spec").html("Включить версию для слабовидящих");
$("#setting-spec").css({'display':'none'});
document.cookie="specPanel=; path=/; expires="+date.toUTCString();
location.reload();
}
});

Добавлено через 01:12 сек.
$(".ss").click(function(){
var fontSize = $(this).attr("data-font-size");
document.cookie="fontSize="+fontSize+"; path=/; expires="+date.toUTCString();
specStyle(getCookie("fontSize"),getCookie("bg"),getCookie("fontColor"));
});

$(".bgs").click(function(){
var bg = $(this).attr("data-bg");
var fontColor = $(this).attr("data-font");
document.cookie="bg="+bg+"; path=/; expires="+date.toUTCString();
document.cookie="fontColor="+fontColor+"; path=/; expires="+date.toUTCString();
specStyle(getCookie("fontSize"),getCookie("bg"),getCookie("fontColor"));
});

});

Добавлено через 02:59 сек.
Почему через небольшое время простоя события клик по элементам .ss и .bgs перестаёт работать?

Землянин
0
Кажется разобрался, события срабатывают, но куки уже пустые

Пришелец
0
3. Mr.MarПых, возможно какой то контент на странице у тебя подгружается через ajax или модифицируется.
Всегда смотри console.info()... И замени все .click(function() на .on('click', function()

Пацак
0
4. Stanislav-WEB, может помочь, но .on() не хорошо работает на моб. устройствах и сафари.
по теме, код не смотрел, но советую использовать плагин jQuery для работы с cookie, удобней.
Для выполнения действия необходимо авторизоваться!
Стикеры / Теги / Правила / Топ тем / Топ тем / Поиск