2012-03-04 7 views
0

私は以下のコードを使用して、特定のテキストがクリックされたときにボックスを表示させます。どのように私はそれを制限するので、一度に1つのボックスだけをスライドさせることができます。jqueryとjscript else if

など。最初のボタンをクリックするとスライドし、2番目のボタンをクリックすると最初のボックスが再びスライドします。ここで

は私のコードは

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $(".flip1").click(function(){ 
    $(".panel1").slideDown("fast"); 
    }); 
}); 
$(document).ready(function(){ 
    $(".flip2").click(function(){ 
    $(".panel2").slideDown("fast"); 
    }); 
}); 
$(document).ready(function(){ 
    $(".flip3").click(function(){ 
    $(".panel3").slideDown("fast"); 
    }); 
}); 
$(document).ready(function(){ 
    $(".flip4").click(function(){ 
    $(".panel4").slideDown("fast"); 
    }); 
}); 
</script> 



<div id="betslip"> 
       <td><div class="panel1"><?php echo $bet1; ?></div></td> 
       <td><div class="panel2"><?php echo $bet2; ?></div></td> 
       <td><div class="panel3"><?php echo $bet3; ?></div></td> 
       <td><div class="panel4"><?php echo $bet4; ?></div></td> 
      </div> 

答えて

0

$(document).ready(function(){ 
    $("[class=^'flip'").click(function(){ 
    // get panel class 
    var panelClass = this.className.replace('flip', 'panel'); 
    // hide all open 
    $("[class^='panel']").hide(); 
    // show current one now 
    $('.' + panelClass).slideDown('fast'); 
    }); 
}); 

あなたが必要とするすべてです。

1

ださて、あなたはおそらく.slideUp()他のパネルのそれぞれにいくつかのコードに追加することによって開始することができます。まだ試しましたか?あなたはこのようなあなたのコードをリファクタリングし、最小限に抑えることができ

+0

HAHAHAHAHAHAのために割り当てられた唯一のクラスを持っている場合にのみ動作することに注意してください! True +1 – Chibuzo

+1

私はスライドアップを追加しましたが、滑り落ちるとまもなくスライドアップします。 –

0

すべての一般的なクラス名に反転付け:これはあなたが持っている機能を滑り降り、その後、すべてのパネルをSlideUpます

$('.flip').click(function(){ 
    $('.panel').slideUp('fast'): 
}); 

flip

$(document).ready(function(){ 
    $(".flip1").click(function(){ 
    $(".panel1").slideDown("fast"); 
    }); 
}); 
$(document).ready(function(){ 
    $(".flip2").click(function(){ 
    $(".panel2").slideDown("fast"); 
    }); 
}); 
$(document).ready(function(){ 
    $(".flip3").click(function(){ 
    $(".panel3").slideDown("fast"); 
    }); 
}); 
$(document).ready(function(){ 
    $(".flip4").click(function(){ 
    $(".panel4").slideDown("fast"); 
    }); 
}); 
0
$(document).ready(function(){ 
    $(".flip1").click(function(){ 
     $("div[class^=panel]").slideup(); 
     $(".panel1").slideDown("fast"); 
    }); 

    $(".flip2").click(function(){ 
     $("div[class^=panel]").slideup(); 
     $(".panel1").slideDown("fast"); 
    }); 

    // Do the rest 
}); 

1つだけを使用するdocument.ready()

0
$(document).ready(function(){ 
    $('[class^="flip"]').click(function(){ 
     var thisId = $(this).attr('class').replace('flip'); 
     $('[class^="panel"]').slideUp("fast"); 
     $('.panel'+thisId).slideDown("fast"); 
    }); 
}); 

あなたは.panel.flip要素

+1

あなたは*複数のクラス*の代わりに*ただ1つのクラス*を意味すると思います。 –

+0

はい、私はタイプミスを修正しました – blackpla9ue