jQuery对话框没有关闭

时间:2014-07-28 09:40:55

标签: javascript jquery cookies

我的网站上有一个javascript / jQuery cookie确认框,如下所示:http://jsfiddle.net/x7rAk/1/

var checkCookies = document.cookie;
var cookieNotice = '<div id="continue_box" class="cookie_box"><p>This website uses cookies to improve the user experience. For more information on cookies please see this <a href="/cookies/index.php">link</a>. By clicking continue, you agree to the use of cookies.</p><p class="cookies_accept"><span class="cookie_button" id="continue"><img src="/images/tick.png"/><span> Continue</span></span></p></div>';

    $('body').ready(function() {
        $('body').prepend($(cookieNotice).fadeIn(2000));
    });

var continueButton = 'span#continue.cookie_button';
var closeButton = 'span#close.cookie_button';
var closeNotice = '<div id="close_box" class="cookie_box" style="display:none"><p>You have agreed to the use of cookies. This allows us to bring you a better service by remembering your preferences.</p><p class="cookies_accept"><span class="cookie_button" id="close"><img src="/images/cross.png"/><span> Close</span></span></p></div>';

$('#continue_box.cookie_box').ready(function() {
    $(continueButton).click(function() {
        $('#continue_box.cookie_box').fadeOut(1000, function() {
            $('body').prepend($(closeNotice).fadeIn(1000));
        });
    });
});

$(closeButton).click(function() {
    $('#close_box.cookie_box').fadeOut(2000);
});

这是缺少的图像和字体等,但它与我的网站完全相同。

如果您运行代码,则会在单击“关闭”时看到该框不会消失。

首先,我该如何修复它,其次,为什么我的工作不起作用(我想知道为什么所以我不必浪费你的时间:))。

谢谢,

康纳

P.S。在我的网站上,它会在显示之前检查您是否有名为cookiesAgree的cookie,因此代码通常更复杂。

1 个答案:

答案 0 :(得分:0)

这应该有效

 $(document).on("click", closeButton, function() {
    $('#close_box.cookie_box').fadeOut(2000);
});

正在动态添加内容,因此您需要注册事件处理程序。