سؤال

في هذا 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);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top