如何知道弹出窗口是在jquery的当前窗口中打开的?

时间:2014-08-26 18:29:13

标签: jquery

我看过here 它与移动弹出窗口有关。我想找到jquery-1.8.3.min。在我的情况下,我在页面访问8秒后打开了一个弹出窗口,用户将点击我页面中的图像或视频,他们将继续观看它,当8秒超过8时会发生什么sec pop将出现在我正在观看的视频或图像上。我必须隐藏或不显示当其他人打开时弹出8秒。

3 个答案:

答案 0 :(得分:0)

您可以在活动弹出窗口中添加一个活动的类,然后检查弹出窗口是否激活了该类。

在Jquery

中检查项目是否有类很容易
$('#popupName').hasClass('active');

我希望这会对你有所帮助

答案 1 :(得分:0)

您可以验证该类是否存在,或检查弹出窗口是否可见。

$(element).is(":visible") 
// or 
$(element).hasClass('classPresentWhenPopupOpened');

答案 2 :(得分:0)

这是一种快速而肮脏的方法。

<div id="dialog1">My video in here</div>
<button class="openDialog" data-dialog="dialog1">OPEN</button>
<script>
        $(function() {


            $( "#dialog1" ).dialog();

            $( ".openDialog" ).click(function() {

                var dialogId = $(this).attr('data-dialog');

                if ( !$(body).hasClass("dialogOpen") ) {

                    var openWindow = $(body).attr("data-openDialog"); // get id of previously opened window
                    $('#'+openWindow).dialog('close');                              // close dialog
                    $(body).attr("data-openDialog", "");                            // clear data
                    $(body).removeClass("dialogOpen");                              // remove class

                } else {

                    $(body).attr("data-openDialog", dialogId);  // add data to indicate dialog is open
                    $('#'+dialogId).dialog('open');                         // open dialog
                    $(body).addClass("dialogOpen");                         // add class to indicate dialog is open

                }

            });

        });
</script>