0
<script>
$(document).ready(function () {
// for some reason the button hide has to be at the top
$("button").click(function () {
    $(".holcomb, .lunden, .maggie, .rosewood").hide("slow");
    $("button").hide("fast");
});
 // examples show hide
$(document).ready(function() {
    $("a#holcomb").click(function () {
       $(".holcomb, .lunden, .maggie, .rosewood").hide("fast");
       $("button").hide("fast")
       $(".holcomb").slideDown(1500);
       $("button#holcomb").show("fast")
   });
});
$(document).ready(function() {
    $("a#lunden").click(function () {
        $(".holcomb, .lunden, .maggie, .rosewood").hide("fast");
        $("button").hide("fast")
        $(".lunden").slideDown(1500);
        $("button#lunden").show("fast")
    });
});
$(document).ready(function() {
    $("a#maggie").click(function () {
        $(".holcomb, .lunden, .maggie, .rosewood").hide("fast");
        $("button").hide("fast")
        $(".maggie").slideDown(1500);
        $("button#maggie").show("fast")
    });
});
$(document).ready(function() {
    $("a#rosewood").click(function () {
        $(".holcomb, .lunden, .maggie, .rosewood").hide("fast");
        $("button").hide("fast")
        $(".rosewood").slideDown(1500);
        $("button#rosewood").show("fast")
    });
});
</script>

このスクリプトを単純化するための助けが必要です。

発生するのは、いくつかのリンクがあり、それらをクリックするとdiv(クラス付き)が表示されることだけです。次に、リンクの横にもボタンがポップアップ表示され、クリックすると(明らかに)閉じるか、別のリンクをクリックすると、現在開いているdivが閉じて、他のdivが開きます。

4

2 に答える 2

1

クラスをより適切に適用することで、このコードはより単純になりますが、あなたが持っているもので作業することができます...

$(document).ready(function(){   
    $("button").click(function() {
        $(".holcomb, .lunden, .maggie, .rosewood").hide("slow");
        $("button").hide("fast");
    });

    $("a#holcomb, a#lunden, a#maggie, a#rosewood").click(function () {
       $(".holcomb, .lunden, .maggie, .rosewood").hide("fast");
       $("button").hide("fast");
       $("."+this.id).slideDown(1500);
       $("button#"+this.id).show("fast")
   });
});
于 2011-04-23T01:42:38.757 に答える
0

この表示/非表示を機能させたいすべての要素にクラスを追加すると、次の操作ですべてを実行できます。

var $allElements = $(".showHide");


$allElements.click(function () {
    $allElements.hide("fast");
    $(this).slideDown(1500);
    /* you'd have to add some logic here for the matching button...
       ...perhaps give it an ID matching the link with a suffix of '-button' 
       or something */
});
于 2011-04-23T01:51:42.230 に答える