كيف يمكنني تشغيل الدالة .animate في مسج إلى الأبد؟
-
05-07-2019 - |
سؤال
$(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) });
وثنإكس لرمز الأولي!
لا تنتمي إلى StackOverflow