0

あなたの助けが必要です。効果のslideUpとslideDownを備えた小さなメニューを作成したいと思います。解決策を見つけましたが、「よりクリーンな」より良い解決策があるかどうかを尋ねたいと思います。

これが私のコードです:

var menu_id = "";
$('.menu li a').click(function(){
    var currentId = $(this).attr('id');
    if(menu_id != ""){
        $('#frame-' + menu_id).slideUp();
    }
    if(currentId != menu_id){
        $('#frame-' + currentId).slideDown();
        menu_id = currentId;
    }
    else{
        menu_id = "blank"
    }
});

よろしくダリオ

4

2 に答える 2

2

これもうまくいくはずです:

$(".menu li a").click(function() {
    var frame = $('#frame-' +  this.id);
    if (!$(frame).is(":visible")) {
        $("[id^='frame-']").slideUp();
        $(frame).slideDown();
    } else {
        $(frame).slideUp();
    }
});
于 2012-09-21T13:09:26.563 に答える
0

sp00mによる投稿に基づいて、これを試してください

$(".menu li a").click(function() {
   var frame = $('#frame-' +  this.id);
   if ($(frame).is(":visible")) {
       $(frame).slideUp();
   }
   else{
       if($("[id^='frame-']:visible").length == 0)
       {
           $(frame).slideDown();
       }
       else if($("[id^='frame-']:visible").length == 1)
       {
           $("[id^='frame-']:visible").slideUp(function(){
               $(frame).slideDown();
           });
       }                   
   }
});
于 2012-09-21T13:51:05.653 に答える