检测用户是否会离开正文并显示Bounce Exchange等对话框

时间:2014-01-03 13:36:24

标签: jquery

我正在编写一个jquery脚本来检测用户是否离开html正文并关闭网站以向他们显示一个对话框,例如退回交换。

$('#bounce').fadeIn(300);
var popMargTop = ($('#bounce').height() + 24) / 2;
var popMargLeft = ($('#bounce').width() + 24) / 2;

$('#bounce').css({
    'margin-top': -popMargTop,
    'margin-left': -popMargLeft
});

// Add the mask to body
$('body').append('<div id="mask"></div>');
$('#mask').fadeIn(300);

// When clicking on the button close or the mask layer the popup closed
$('a.close, #mask').on('click', function () {
    $('#mask , .bounce-popup').fadeOut(300, function () {
        $('#mask').remove();
    });
    return false;
});

FIDDLE
这个例子显示了一个关于加载事件的对话框,如何将其推送给鼠标离开事件(仅限一次)?如下面的代码

$("body").one('mouseleave', function() {
    jQuery('#bounce').show();
});

2 个答案:

答案 0 :(得分:1)

正如你所做的那样。这是小提琴:http://jsfiddle.net/P9jNb/

var bounceBoxShown = false;

$('.btn-sign').mouseleave(function() {          
    if (bounceBoxShown) {
        return;
    }
    bounceBoxShown = true;

    ...
}

答案 1 :(得分:1)

如果符合您的需要,请尝试:

DEMO

$(document).one('mouseleave', showDialog);