0

私のサイトには、押すと連絡先フォームを含む div が下にスライドする連絡先ボタンがあります (jQuery animate を使用)。このdivには閉じるボタンがあり、押すとスライドして元に戻ります(元の位置は画面から外れています)。連絡先ボタンが押されたときに一度だけ機能するようにする必要がありますが、divが閉じられたときに再び機能します。

これがバインド/バインド解除機能を使用していることは知っていますが、機能させることができません。これが私のコードです:

$(document).ready(function() {
var handler = function() {
$('.top,.left,.main,.header').animate({
top: '+=120'
}, 1300, 'easeOutBounce');
}
$('#contact').bind('click', handler);
$('#contact').unbind('click', handler);
});
$('#close').click(function() {
$('.top,.left,.main,.header').animate({
top: '-=120'
}, 1300, 'easeOutBounce');
});

追加しようとしているサイトは次のとおりです: www.samskirrow.com/projects/move_div

ご協力いただきありがとうございます。サム

4

1 に答える 1

0

それを理解し、bind、unbindコマンドを使用せず、代わりにトグルすることにしました。開くボタンの役割を担うだけの閉じるボタンがあるので、トグルサイクルが中断されることはありません。

$(document).ready(function() {
  $('#contact').toggle(function() {
    $('.top,.left,.main,.header').animate({
      top: '+=120'
    }, 1300, 'easeOutBounce');
  },function() {
    $('.top,.left,.main,.header').animate({
      top: '-=120'
    }, 1300, 'easeOutBounce');
  })
  $('#close').click(function() {
  $("#contact").click();
  });
});

これが誰かに役立つことを願っています:)

于 2012-11-04T23:14:11.323 に答える