0

ソリューションを探しています: Div の高さを切り替えたいのですが、完了していません。だから私はこれを試してみましたが、うまくいきませんでした。firebug の最初のクラス変更と、高さが 36px に変更されていることがわかります。しかし、戻ることはできませんでした。クラスの追加と削除を試みます。

http://jsfiddle.net/Zbbd9/1/

$$('.outer').setStyle('height', '660px');

$$('.outer h2').addEvent('click', function(){
    if (this.hasClass('close')) {
        var parent = this.getParent();
        parent.removeClass('close');
        parent.morph({
        'height': '660px'
      });
    } else {
        var parent = this.getParent();
        parent.addClass('close');
        parent.morph({
        'height': '36px'
      });
    }
});

アップデート:

http://jsfiddle.net/Zbbd9/2/

とった。

よろしくお願いします

4

1 に答える 1

0

間違った親コンテナを選択しています。

このようにしてみてください:

$$('.outer h2').addEvent('click', function(){
    var parent = this.getParent();
    if (parent.hasClass('close')) {
        parent.removeClass('close');
        parent.morph({
            'height': '660px'
        });
    } else {
        parent.addClass('close');
        parent.morph({
            'height': '36px'
        });
    }
});

現在の状態を識別するためにクラスを追加することはそれを行うための確実な方法ですが、 toggleClassを使用したり、スライダーなどのまったく異なるものを参照したりするなど、他の方法も検討することをお勧めします。

于 2013-02-14T18:57:10.377 に答える