2

ほぼチュートリアルを検索し、ヒントは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>
4

0 に答える 0