在任何给定时间,我在页面上都有几十个带有图像和共享按钮的对象,例如:
<li class="entry" id="sjDDulC8wt">
<img src="sjDDulC8wt.jpg" />
<div class="entry_actions">
<ul class="entry_actions">
<li class='share_it'><a onclick='javascript: showShare("sjDDulC8wt");'
onblur='javascript: hideShare("sjDDulC8wt")' target='_self'
title='Share It' class='share_it'>o</a>
</li>
</ul>
<div class="share_options_container"style="display:none;">
<ul>
<li><a href="#" class="facebook">F</a></li>
<li><a href="#" class="twitter">T</a></li>
<li><a href="#" class="pinterest">X</a></li>
</ul>
</div>
</div>
showShare()
当我单击entry_actions
ul内的锚标记时,该函数只是在页面的特定元素内打开 share_options_container div。当我单击它时,该hideShare()
功能应该隐藏它。
function hideShare(id){
$('#' +id+'.share_options_container').hide();
}
当我单击锚标记时,相应的共享容器 div 完美显示。当我单击关闭时,没有任何反应。我也试过这段代码,我在另一个类似的问题上找到了它:
$("body").click(function(){ $(".share_options_container").fadeOut(200); });
但是,当我单击其中一个锚点时,此功能会立即开始将其淡出,因此如果我将淡入淡出更改为隐藏,则容器甚至根本不会弹出。
是否有一个事件我可以将我的原始hideShare()
函数与之关联,以便当我单击锚标记时它会实际触发?如果不是,我是否可以修改第二个函数,使其不会在弹出时立即隐藏我要显示的特定容器?