سؤال

$(this).css("left","100px");

function endless(){
    $(this).animate({
        left:'-=100px',
    },{
        easing: "linear",
    duration: 5000,
    complete: function() {
        $(this).css('left','100px');
    endless();
        }
    });
};
endless();

وهذا ما حاولت، ولكن باستخدام هذا النهج لا أستطيع الحصول على الأشياء المتحركة.    ايم "باستخدام مسج 1.3.2.    أي اقتراحات؟

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

المحلول

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

$(this).css("left","100px");

function endless(elem){
    $(elem).animate(
        { left:'-=100px' },
        "linear",
        5000,
        function() {
            $(elem).css('left','100px');
            endless(elem);
        }
     );
};
endless(this);

نصائح أخرى

وستحتاج إلى الاتصال لا نهاية لها () من ضمن الاستدعاء.

function endless(item) {
  $(item).animate({"left": "-=100px"}, 5000, "linear", function(){
    $(item).css("left","100px");
    endless(item);
  });
}

endless($(".myBox"));

وتحتاج إلى استبدال $(this) مع محدد للعنصر الذي تريد تحريكه.

والعظمى! هذا هو بالضبط ما كنت بحثت عنها، ولكن الآن،

وأنا أحسب أخيرا كيفية تبديل ذلك. مع الدالة التالية، والدعوة التي لا نهاية لها (0) لوقف، والتي لا نهاية لها (1) لتمكين الرسوم المتحركة الحلقة.

//loop animation forever
//args: takes 1 to loop, 0 to stop
function endless(loop)
{ 
  //animate forever
  if (loop==1)
  {
 $('#alink').animate(
  {'opacity':'toggle'}, 
  1000, 
   function () { endless(1) }
  ); 
  }
  //stop animation
  else
  {
 $('#alink').css('opacity',1).stop();
  }

}; 


//sample call
$('#alink').toggle(function(){ endless(1) },function(){ endless(0) });

وثنإكس لرمز الأولي!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top