0
我有三个图标。当我点击其中一个时,我会添加一个叠加层(如灯箱),然后弹出一个解释该图标的文本框,然后在单击叠加层时隐藏文本框。当点击框(jQuery)时隐藏文本框
我已经得到了一切,除非当我再次点击框时,文本框不会再出现。我需要做些什么刷新或什么?
HTML:
<div class="serviceOption">
<a class="iconAnchor"> <i id="bigIcon" class="fa fa-laptop fa-3x" aria-hidden="true"></i></a>
<label for="serviceCheckbox"> Technology Audits</label>
</div>
<div id="techPopup" for="anchor1" class="popupBox">
<h2>HEADLINE 1</h2>
<p> Popup text 1<p>
</div>
<div class="serviceOption">
<a class="iconAnchor"><i id="bigIcon" class="fa fa-cloud fa-3x" aria-hidden="true"></i></a>
<label for="serviceCheckbox1"> Cloud Solutions</label>
</div>
<div id="cloudPopup" class="popupBox">
<h2>HEADLINE 2</h2>
<p> Popup text 2<p>
</div>
<div class="serviceOption">
<a class="iconAnchor"><i id="bigIcon" class="fa fa-envelope fa-3x" aria-hidden="true"></i></a>
<label for="serviceCheckbox2"> Email Solutions</label>
</div>
<div id="cloudPopup" class="popupBox">
<h2>HEADLINE 3</h2>
<p>Popup text 3</p>
</div>
和我的JQuery:
/* ----------- SERVICES TOGGLE ON SERVICES PAGE--------------- */
// 1. Create overlay and append it to body
var overlay = $('<div id=overlay></div>');
$('body').append(overlay);
$('.iconAnchor').click(function(){
var serviceParagraph = $(this).closest('.serviceOption').next('.popupBox');
overlay.show();
overlay.append(serviceParagraph);
serviceParagraph.slideDown();
}); // end ICON click
$(overlay).click(function(event){
$('.popupBox').slideUp(200);
overlay.hide();
}); // end OVERLAY click
这有效,但它遗漏了覆盖。当我把它放回到我的脚本中时,它仍然存在与以前相同的问题: JQ: var overlay = $('
'); $('body')。append(overlay); $('。popupBox')。hide(); ('。iconAnchor')。click(function(){ var textBox = $(this).closest('。serviceOption')。next('。popupBox'); (overlay).append(textBox); overlay.show(); textBox.slideToggle(200); });点击(功能(){(this).slideToggle(); overlay.hide(); }); – brandonstiles对不起,我也不会让它格式化 – brandonstiles
我删除了覆盖部分b/c,这是没有必要完成你所描述的。你需要一个额外的div来包装这些弹出式div吗? –