jQuery Cookieと:UI Hints / Notes - ユーザーが続行した後にそれらを非表示にする
-
21-12-2019 - |
質問
出発点:
私はトリッキーなWebアプリケーションインタフェースを持っています(そうではありませんが、それは別のトピックです)。ユーザーが理解されるために、私はヒントを組み込んだ。例:矢印は、画面をスワイプする方向を示します。
問題:
ユーザーがページをリロードするたびに(サブ)ページ)ページに移動するたびに、ヒントが再表示されます。ナンセンス - そしてユーザーにとって迷惑。
溶液:
必要なときにのみヒントを表示します。ユーザーがイベントをトリガーすると、このイベントのヒントが消えます。ユーザが何日後にページをリロードまたは訪問した場合、彼はすでにそれがどのように機能するかを理解し、彼はヒントを見る必要はありません。
jQuery Cookie。
のようなものイベントがトリガーされた場合 - > cookieを設定します。 Cookieは言う - >ヒントを表示しない(たとえば、.css( "display"、 "none")が十分です)
あなたの助けが必要な場所:
jQuery Cookieのための良いチュートリアルやドキュメントを見つけません。 jQuery初心者です。簡単な機能は問題ありません。しかし、これはまだ大きいのは少しです。
助けていない、または役に立つリンクをありがとう!
解決
jsfiddle: http://jsfiddle.net/wrxsti85/9nubf/
これは使用した基本的な古いクッキー設定です。それは他のライブラリを必要としないので、その小さくて軽量です。
あなたが最初にフィドルをロードするときあなたはツールチップを見るでしょう。もう一度[実行]をクリックしてそこにはありません。
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();
});
.
所属していません StackOverflow