如何解决jQuery对话框-页面上的多个对话框,一次只能打开一个
|| 我在一页上有12个对话框。如果其他12个对话框都未打开,我只希望它们打开。我不希望它关闭现有对话框并打开一个新对话框,我只是希望它一次只打开一个对话框,并阻止用户一次打开两个对话框。 HTML示例: <div id=\"thumb2\" class=\"suiting-thumb\">
<img src=\"img/gallery/suit1-thumb.jpg\" alt=\"\" title=\"\" />
</div>
<div id=\"galleryDialog2\" class=\"galleryDialog\">
<a id=\"prev-arrow\" href=\"#\"></a>
<a id=\"next-arrow\" href=\"#\"></a>
<div class=\"text\">
text and link
</div>
<div class=\"dialog-slider\">
<img src=\"img/suiting-details/custom-suiting-vent-styles.jpg\" alt=\"\" title=\"\" />
<img src=\"img/suiting-details/custom-suit-coat-lining.jpg\" alt=\"\" title=\"\" />
</div>
</div>
JS:
/* Gallery Dialog Settings */
$(\'[id^=galleryDialog]\').dialog({
width: 480,height:479,/* 479 seems to be the magic number to get the box to fit vertically on the slider */
show: \'fade\',hide: \'fade\',autoOpen: false,draggable: false,open: function() {
$(\'#four\').stop().fadeTo(\"fast\",0.3);
$(\'.suiting-thumb\').stop().fadeTo(\"fast\",1.0);
$(\"a#prev\").attr(\"id\",\"prev-false\");
$(\"a#next\").attr(\"id\",\"next-false\");
$(\'.suiting-thumb\').attr(\'class\',\'suiting-thumb-false\');
},close: function() {
$(\'#four\').stop().fadeTo(\"normal\",1);
$(\"a#prev-false\").attr(\"id\",\"prev\");
$(\"a#next-false\").attr(\"id\",\"next\");
$(\'.suiting-thumb-false\').attr(\'class\',\'suiting-thumb\');
}
});
$(\'.suiting-thumb\').click(function() {
//strip off prefix of thumb id to get number for dialog
var thumbBtnIdPrefix = \'thumb\';
var thumbBtnNum = $(this).attr(\'id\').substring((thumbBtnIdPrefix.length));
if(!$(\'.galleryDialog\').dialog(\"isOpen\")) {
$(\'#galleryDialog\' + thumbBtnNum).dialog(\'open\').dialog(\'widget\').position({
at: \'center center\',of: $(\'#slider\'),offset: \"75 0\"
});
}
});
我正在尝试使用if statemenet进行检查,以查看应用于所有对话框div的类“ ..galleryDialog \”是否未打开。如果未打开,则打开单击的对话框。无论何时打开“ galleryDialog1”,此方法都可以正常运行,但是当我关闭第一个并打开其他对话框时,便可以一次打开任意多个。
任何帮助都将是惊人的。谢谢!
解决方法
为什么不将ѭ2添加到对话框调用中,那样您一次只能查看一个。