1

jQueryをスライド#content2にして、#content1を置き換えて、#content1が実際に#content2によって押し下げられているように見せながら、ビューから削除する方法を理解しようとしています...

次に、#content2を#content1に置き換えるためにクリックされた同じボタンも、#content2を#content1に置き換えて、それらを上にスライドさせて互いに押して邪魔にならないようにすることで、逆の効果を行う必要があります...

私はjQueryにそれほど優れているわけではないので、これは間違った方法で行ったと確信していますが、これが私が試したことです。

$(document).ready(function() {
$('#click').click(function() {
 if($('#content1').is(':visible')) {
  $('#content1').slideUp();
 }
 else {
  $('#content2').slideDown();
 }
}).click(function() {
 if($('#content1').is(':visible')) {
  $('#content2').slideDown();
 }
 else {
  $('#content1').slideUp();
 }
});

});

4

2 に答える 2

2

クリックを1回バインドするだけで、スライド効果を切り替えることができます。あなたはこのようなことを試すことができます

$(document).ready(function() {

  $('#click').click(function() {
    $('#content1').slideToggle();
    $('#content2').slideToggle();
  }
}
于 2010-04-11T10:46:57.120 に答える
1

ここで、2つのクリックイベントハンドラーを同じ要素にバインドしようとしています。これはあなたが試みる方法では不可能ですが、名前空間化されたイベントでは次のようになります: $(#click).bind('click.event1')そして後で.bind('click.event2')

ただし、1つの機能ですべてを行うことができます。

$(document).ready(function() {
    // Pre selected for increased speed
    var content1 = $('#content1');
    var content2 = $('#content2');

    $('#click').click(function() {
        content1.slideToggle();
        content2.slideToggle();
    });
});

完了同期にはなりませんが、おそらく問題ないように見えます。

于 2010-04-11T10:47:05.563 に答える