jquery fadein / fadeout، حلقات من خلال مجموعة
سؤال
في هذا url - http://thespaceBetweenthewords.org/sandbox/
أحاول الدورة من خلال صفائف من الكلمات مع تأثير مسج fadein / fadeout.
لا يبدو أن مجموعة الكلمات المعروضة بدأت في [0]، على الرغم من ذلك. ربما أفتقد شيئا بالترتيب الذي يتم فيه تنفيذ الوظائف.
إذا كان أي شخص في المجتمع ترغب في التعليق على التعليمات البرمجية لأنه يقف حتى الآن، فهناك نظرة ثاقبة.
المحلول
أنت تستخدم بشكل صحيح وظيفة رد مع .fadeIn()
للتأكد من أن الكلمة لا تبدأ في التلاشي حتى تنتهي تلاشى. ومع ذلك، لم تطبق نفس المبدأ على التكرار من خلال الأفعال. الخارجي الخاص بك for
سوف المسيل للدموع من خلال كل الأفعال في أي وقت من الأوقات، والتي تظهر كل واحد، ثم الانتظار بصبر حتى يحين الوقت لإخفائها (عندما، بالطبع، فقط سيكون فقط الفعل الأخير يظل يظهر بحلول ذلك الوقت).
قد تحاول شيئا مثل هذا:
function showWord(selector, words, wordTime, i) {
if (words.length < i)
return;
var word = words[i];
$(selector).html(word).fadeIn(wordTime, function() {
$(selector).fadeOut(wordTime, function() {
showWord(selector, words, wordTime, i + 1);
});
});
}
showWord("#verb-content", data.verbs, verbTime, 0);