0

以下のこのコードでは、パネル内のコンテンツ (パネル内の p タグに含まれるコンテンツ) をクリックしたときに、パネルまたは他の場所をクリックするまでパネルをスライドさせないでください。ただし、パネル内の子要素 ​​p は使用しません。html を参照してください。 in fiddle for help and click try は、それ以外のクリックイベントが使用されている場合、パネルを閉じるべきではありません。このスクリプトは、以前に praveen 氏に助けられました。

コードは

$(document).ready(function () {
    $("#toggle li > .panel").hide();
    $('.plusminus').html('+');

    $('#toggle li').click(function () {
        if( !$(this).children('.panel').is(":visible") ) {
            $("#toggle li > .panel").slideUp();
            $('.plusminus').html('+');
        }
        a = $(this).children(".plusminus");
        $(this).children(".panel").slideToggle('fast', function(){
            a.html($(this).is(":visible") ? '--' : '+');
        });
    });

    $("body").click(function(event){
        if ($(event.target).closest("ul").attr('id') != "toggle") {
            $("#toggle li > .panel").slideUp();
            $('.plusminus').html('+');
        }
    });
});

遊ぶフィドルは

http://jsfiddle.net/praveenscience/Ss3xU/26/

4

1 に答える 1

1

パネルを上に開くには、$("#toggle li > .panel").hide();上を取り外しますdocument loadload

add$("#toggle li > .panel").click(function(event){ event.stopPropagation(); }); は、パネル内をクリックしてもドロップダウンが閉じないようにします

于 2013-04-05T08:39:54.033 に答える