私は、次のように、いつでもページ上に画像と共有ボタンを備えた数十のオブジェクトを持っています。
<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>
この関数は、 ulshowShare()
内のアンカータグをクリックすると、ページの特定の要素内のshare_options_containerdivを開くだけです。entry_actions
クリックすると、hideShare()
関数が非表示になっているはずです。
function hideShare(id){
$('#' +id+'.share_options_container').hide();
}
アンカータグをクリックすると、対応する共有コンテナdivが完全に表示されます。クリックしても何も起こりません。私はまた、別の同様の質問で見つけたこのコードを試しました:
$("body").click(function(){ $(".share_options_container").fadeOut(200); });
ただし、アンカーの1つをクリックすると、この関数はすぐにフェードアウトを開始するため、フェードを非表示に変更すると、コンテナーはまったくポップアップしません。
hideShare()
アンカータグをクリックしたときに実際にトリガーされるように、元の関数を関連付けることができるイベントはありますか?そうでない場合は、2番目の関数を変更して、表示しようとしている特定のコンテナーがポップアップするとすぐに非表示にならないようにすることはできますか?