Javascript fancybox在我不打开时打开';我不想这样
我是一个危险游戏,我使用FancyBox lightbox插件来显示游戏中的所有问题 我想提出一个额外的问题。这个问题应该在25个点全部消失后出现。我目前正在使用一个大的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') &&
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;
};