ほぼチュートリアルを検索し、ヒントはjQueryでクリックアウトを検出する方法を紹介します。しかし、私の場合はほとんどの人とは違うと思います。(そうでないかもしれない)
さて、私は関数を使用して、Web サイトの各ユーザーのパネルを切り替えています。(onclick イベント)
例えば:
ユーザーと彼のIDは7なので、トグルする関数は次のようになります:togglePanel(7);
問題なく動作しています。しかし、パネルが表示されているかどうかを確認しようとしたとき(イベント本体のクリック)、表示されている場合は非表示にします。
=> もうパネルを切り替えることができません。
どうすればいいですか、いくつかの提案をお願いします。ありがとう。
ちなみに、私はこのチュートリアルに従っています
jQuery.noConflict();
jQuery(document).ready(function(){
var panel = jQuery('.ui-context');
var link = jQuery('.context-link');
jQuery(document.body).click(function(){
if (!panel.has(this).length) {
panel.hide();
link.removeClass('context-open');
}
});
});
トグルパネル機能は次のとおりです。
jQuery.noConflict();
function togglePanel(userId) {
var lctgLink = "#panel-u" + userId;
var lctgPanel = "#context-ucp-" + userId;
jQuery(lctgPanel).toggle();
jQuery(lctgLink).toggleClass('context-open');
return false;
}
html は次のようになります。
<a href="javascript:;" id="panel-u-$uid" onclick="togglePanel($uid);">$username</a>
<div id="context-ucp-$uid" class="ui-context" style="display:none;">
<!-- STUFF HERE -->
</div>