С jQuery Cookies: UI Hints / Notes - Скрыть их после продолжения пользователя

StackOverflow https://stackoverflow.com//questions/23019474

Вопрос

Начальная точка :

У меня есть сложный интерфейс веб-приложения (не должен быть таким, но это еще одна тема). Чтобы понять пользователь, я построил подсказки. Например: стрелка показывает направление, чтобы проверить на экране, чтобы показать меню.

<Сильная> проблема :

Каждый раз, когда пользователь перезагружает страницу или перейти на другую (под) страницу, подсказки появляются снова. Ерунда - и раздражает для пользователя.

<Сильное> решение :

Показать намеки только при необходимости. Когда пользователь вызывает событие, совет для этого события исчезает. Если пользователь перезагружает или посещает страницу через несколько дней, он уже понимает, как это работает, и ему не нужно видеть подсказки.

<Сильная> Реализация :

jQuery cookie. Что-то вроде:

Если событие срабатывает -> установите cookie. Cookie говорит:> Не показывать намек (например, с .css («Дисплей», «Нет») будет достаточно)

<Сильные> Где мне нужна ваша помощь :

Я не нахожу хорошего урока или документации для файлов cookie jQuery. Я новичок jQuery. Простые функции не проблема. Но это еще немного большой.

Спасибо за любую помощь или полезные ссылки!

Это было полезно?

Решение

jsfiddle: http://jsfiddle.net/wrxsti85/9nubf/

Это базовое старое настроек файла cookie, которое я использовал для использования.Это не требует других библиотек, поэтому его маленький и легкий.

Первый раз, когда вы загружаете скрипку, вы увидите всплывающую подсказку.Нажмите Run снова, и он не будет там.

function getCookie(c_name) {
    var i, x, y, ARRcookies = document.cookie.split(";");
    for (i = 0; i < ARRcookies.length; i++) {
        x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
        y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
        x = x.replace(/^\s+|\s+$/g, "");
        if (x == c_name) {
            return unescape(y);
        }
    }
}

function setCookie(c_name, value, exdays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
    document.cookie = c_name + "=" + c_value;
}

function checkCookie() {
    var status = getCookie("showToolTip");
    if (status != null && status == 1) {
        $('.TT').hide();
    } else {
        setCookie("showToolTip", "1", 365);
    }
}

$(function() {
    checkCookie();
});
.

Надеюсь, это поможет!Дайте мне знать, если у вас есть вопросы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top