0

要素を切り替える通知と閉じるボタンを備えた単純な div 要素を作成しました

jQuery('.float_close').click(function() {
                jQuery('.float_notice').fadeToggle('slow');

モーダル

おそらくクッキーを使用して閉じたままにするのはどれほど難しいですか?

4

2 に答える 2

1

ユーザーがページに再度アクセスした場合でも、モーダルが二度と(または指定された時間枠内に)読み込まれないようにしますか? それが目的である場合、Cookie は受け入れられますが、理想的ではありません。ユーザーが Cookie を無効にすると、モーダルが継続的に表示されます。

Cookie を使用する場合は、単純にクリック イベント内に設定し、モーダルをトリガーする (または最終的にモーダルをトリガーするイベントにバインドする) 前に設定されているかどうかを確認します。Cookie の設定は非常に簡単です (チュートリアルといくつかの関数については、http://www.quirksmode.org/js/cookies.htmlを参照してください)。次の Cookie は 1 時間後に期限切れになります ( How to set a cookie to expire in 1 hour in Javascript?から直接取得)。

var now = new Date();
var time = now.getTime();
time += 3600 * 1000;
now.setTime(time);
document.cookie = 
    'username=' + value + 
    '; expires=' + now.toGMTString() + 
    '; path=/';

ユーザーが次にページにアクセスしたとき (またはページを更新したとき) にモーダルを表示したい場合は、その情報を JavaScript に保存する (またはモーダルをトリガーするイベントのバインドを解除する) ことができます。JavaScriptでブール値を設定するだけです(スコープに注意してください):

var modalDismissed = false;

クリック イベントで、それを true に設定します。

jQuery('.float_close').click(function() {
    jQuery('.float_notice').fadeToggle('slow');
    modalDismissed = true;
});

次に、モーダルをポップアップする前に modalDismissed が false であることを確認します。

if (!modalDismissed) {
    // modal
}
于 2013-08-01T01:58:40.857 に答える