1

jQueryツールを使用しています。私がしたいのはこれです:ユーザーがテキストリンクをクリックしたら、Cookieが存在するかどうかを確認します。そうでない場合は、モーダルオーバーレイを開いて、領域を選択するように求めます。彼がそうしたら、それをクッキーに保存してから、メインオーバーレイを開きます。

Cookieがすでに存在する場合は、メインオーバーレイを直接開きます。

私がこれまでに持っているのはこれです:

$(function() {

// if the function argument is given to overlay,
// it is assumed to be the onBeforeLoad event listener
$("a[rel]").live('click', function (e){
    e.preventDefault();

    var el = $(this);
    var target = el.attr('rel');
    $(target).appendTo('body');

    $(this).overlay({
    mask: {color:'black'},
    effect: 'apple',
    api: true,

    onBeforeLoad: function() {

// grab wrapper element inside content
        var wrap = this.getOverlay().find(".contentWrap");

        // load the page specified in the trigger
        wrap.load(this.getTrigger().attr("href"));

    },
    load:true,
    closeOnClick: false

     });
});
});

私はある時点で、私はこのようなものを持っているべきであることを知っています:

        if ($.cookie('myRegion') == null){ 
            $("#selectRegion").overlay().load();
        }

しかし、それがどこに収まるかはわかりません。これを達成する方法を知っている人はいますか?

4

1 に答える 1

0

まず、確認のために、 jQueryCookieをロードしていることを確認します。

これは簡単な解決策のように思えるかもしれませんが、基本的にはCookieをチェックし、Cookieがない場合はダイアログを作成し、背景またはボタンがクリックされたかどうかに応じて、ダイアログを閉じるか選択を保存します。

jQueryに対して次のようなものを試してください。

$(document).ready(function(){
    if($.cookie("myRegion") == null){
        $("#modal-background").toggleClass("active");
        $("#modal-content").toggleClass("active");
    }

    $("#modal-background").click(function(){
        $("#modal-background").toggleClass("active");
        $("#modal-content").toggleClass("active");
    });
    $("#modal-save").click(function(){
        $.cookie("myRegion", $("region").val());
        $("#modal-background").toggleClass("active");
        $("#modal-content").toggleClass("active");
    });
});​

関連するすべてのHTMLとCSSは、次のフィドルにあります:http: //jsfiddle.net/9HrwN/2/

于 2012-06-18T19:50:36.967 に答える