Javascript fancybox在我不打开时打开';我不想这样

Javascript fancybox在我不打开时打开';我不想这样,javascript,jquery,fancybox,lightbox,Javascript,Jquery,Fancybox,Lightbox,我是一个危险游戏,我使用FancyBox lightbox插件来显示游戏中的所有问题 我想提出一个额外的问题。这个问题应该在25个点全部消失后出现。我目前正在使用一个大的if语句: if($('#html5_100').is(':hidden') &&$('#html5_200').is(':hidden') &&$('#html5_300').is(':hidden') &&$('#html5_400').is(':hidden') &&

我是一个危险游戏,我使用FancyBox lightbox插件来显示游戏中的所有问题

我想提出一个额外的问题。这个问题应该在25个点全部消失后出现。我目前正在使用一个大的
if
语句:

if($('#html5_100').is(':hidden') &&$('#html5_200').is(':hidden') &&$('#html5_300').is(':hidden') &&$('#html5_400').is(':hidden') &&$('#html5_500').is(':hidden') &&$('#attr_100').is(':hidden') &&$('#attr_200').is(':hidden') &&$('#attr_300').is(':hidden') &&$('#attr_400').is(':hidden') &&$('#attr_500').is(':hidden') &&$('#tf_100').is(':hidden') &&$('#tf_200').is(':hidden') &&$('#tf_300').is(':hidden') &&$('#tf_400').is(':hidden') &&$('#tf_500').is(':hidden') &&$('#dtag_100').is(':hidden') &&$('#dtag_200').is(':hidden') &&$('#dtag_300').is(':hidden') &&$('#dtag_400').is(':hidden') &&$('#dtag_500').is(':hidden') &&$('#tag_100').is(':hidden') &&$('#tag_200').is(':hidden') &&$('#tag_300').is(':hidden') &&$('#tag_400').is(':hidden') &&$('#tag_500').is(':hidden')){
$('#bonus').fancybox({ 
'transitionIn' : 'elastic',
'transitionOut' : 'elastic', 
'hideOnOverlayClick':false,
'hideOnContentClick':false,
'showCloseButton' : false,
'overlayOpacity' : 1
}).click();
}
我试着使用
$('#ID').is(':hidden')

我在每个按钮的点击功能中加入了25个这样的ifs。问题是,一旦我单击submit,它就会打开这个fancybox。有没有办法阻止这一切

如果你需要更多的帮助,我可以上传我的游戏并给你一个链接。

&&$('html5_200')。是('hidden')
在你的代码中是这样的吗?您需要将所有这些“&&&$”更改为
&&$('html5_200')。is(':hidden')
(在&&$()之间添加空格)

编辑: 在调用
$(“#奖金”).fancybox{…}
之后,您添加了什么
.click()
?请尝试从代码中删除此项,因为我认为调用.click()函数会触发此项。如果它也没有帮助,我将不得不查看您的代码的其余部分来找出它。

does
&&$('html5_200')。是否('hidden')
与您的代码中的类似?您需要将所有这些“&&&$”更改为
&&$('html5_200')。is(':hidden')
(在&&$()之间添加空格)

编辑:
在调用
$(“#奖金”).fancybox{…}
之后,您添加了什么
.click()
?请尝试从代码中删除此项,因为我认为调用.click()函数会触发此项。如果它也没有帮助,我将不得不查看您的代码的其余部分来找出它

似乎您的代码正在工作,至少对我来说是这样的,所以可能该id在页面上不存在

另外,如果所有这些div都被隐藏,那么检查all的更好方法可能是循环所有div。此方法还可以轻松地添加附加问题():

var checkDivs=function(){
变量i,j,divs='html5 attr tf dtag tag'.split('');
//循环浏览div名称
对于(i=0;i
您的代码似乎正在运行,至少对我来说是这样,所以页面上可能没有id

另外,如果所有这些div都被隐藏,那么检查all的更好方法可能是循环所有div。此方法还可以轻松地添加附加问题():

var checkDivs=function(){
变量i,j,divs='html5 attr tf dtag tag'.split('');
//循环浏览div名称
对于(i=0;i Hi,考虑如何编写<代码>如果语句以更短和更简单的方式进行。你尝试过一些像控制台这样的JavaScript调试工具吗?您是否尝试过一些javascript调试工具,如console?请再次查看我的答案,希望它会有所帮助。请再次查看我的答案,希望它会有所帮助。您还可以在检查特殊类时添加每个div(如
)。如果($(“.my_hidden:has(:visible)”).length==0{…}
您还可以添加您正在检查的每个div的特殊类(如
)。如果($(“.my_hidden:has(:visible)”),您的条件将是
if.length==0{…}
var checkDivs = function() {
    var i, j, divs = 'html5 attr tf dtag tag'.split(' ');
    // loop through div names
    for (i = 0; i < divs.length; i++) {
        j = 1;
        // loop through all numbered div names (adding 100 each time)
        while ($('#' + divs[i] + '_' + (j * 100)).length) {
            // check if hidden
            if (!$('#' + divs[i] + '_' + (j * 100)).is(':hidden')) {
                return false;
            }
            j++;
        }
    }
    return true;
};