1

私はjqueryが初めてで、よくわかりませんが、テンプレートを作成しているので必要です...これが状況です。ページにスライドインしたいdivがあります(外部から、上)リンクをクリックしたとき、およびページの他の場所をクリックしてスライドアウトしたとき...これは私が持っているものです:

var tmpl_name = '<?php echo $this->template ?>';
jQuery(document).ready(function() {

  jQuery('#link').click(function() {
    var topy = jQuery('#div');
      topy.delay(0).animate({
      top: parseInt(topy.css('top')) == 0 ? -topy.outerWidth() : 10
    },500, 'easeInOutCirc', function() {jQuery(this);});
  });

});

...そして、リンクdivをクリックしてページにスライドするとうまく機能しますが、ページの他の場所をクリックしてdivをスライドアウトする方法がわかりません。追加しようとしました:

jQuery('body').click(function() {
    var topy = jQuery('#div');
      topy.delay(0).animate({
      top: parseInt(topy.css('top')) == 0 ? -topy.outerWidth() : -500
    },1000, 'easeInOutCirc', function() {jQuery(this);});
  });

...but problem is when I click on link to slide in div, div goes in and out of page ( probably because link is also in body and this second part of code affects it too.

Thanks for your time...Best regards

4

2 に答える 2

2

試す:

jQuery(document).ready(function() {

  jQuery('#link').click(function(e) {
    e.preventDefault();
    var topy = jQuery('#div');
      topy.delay(0).animate({
      top: parseInt(topy.css('top')) == 0 ? -topy.outerWidth() : 10
    },500, 'easeInOutCirc', function() {jQuery(this);});
  });

});

ドキュメント オブジェクトへのイベントの伝播を停止するには

于 2012-12-11T19:19:25.273 に答える
0

この.stop()関数は、呼び出しの開始時と終了時にチェーンして、アニメーションを停止することができます。

すなわち $("#element").stop().bounce().stop();

于 2012-12-11T19:18:24.250 に答える