سؤال

لدي هذا الرمز:

$('.couch-hide').click(function() {
    $(this).animate({right:0},1000, 'easeOutBounce');           
});

أحاول أن أحصل عليه للتبديل، لذلك انقر أولا، ثم انقر فوقه، ثم انقر مرة أخرى، ووضعه في الداخل. هل أحتاج إلى تعيين متغير كمتعقب؟ ليقول ما المرحلة في؟

هل كانت مفيدة؟

المحلول

فقط احفظ القيمة الأصلية في مكان ما، وتذكر إيقاف أي رسوم متحركة قيد التنفيذ قبل بدء تشغيل واحدة جديدة. ستعتن الروتين الرسوم المتحركة الباقي:

var panel = $('.couch-hide');
var originalPos = panel.css("right");
panel.toggle(function() {
    $(this).stop().animate({right:0},1000, 'easeOutBounce');
  },
  function() {
    $(this).stop().animate({right:originalPos},1000, 'easeOutBounce');
  });

نصائح أخرى

عموما تقوم جيس تبديل يعمل بشكل كبير بطريقة قياسية كما هو موضح أدناه، ومع ذلك لم أحاول حقا مع أشياء الرسوم المتحركة ولكن قد يعمل هذا.

$('.couch-hide').click(function() {
    $(this).animate({right:0},1000, 'easeOutBounce').toggle();                       
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top