27-10-2007, 17:05
|
|
|
חבר מתאריך: 17.05.05
הודעות: 7,321
|
|
בתגובה להודעה מספר 1 שנכתבה על ידי tnadav1 שמתחילה ב "[JS] מחלקת fade-in, fade-out-פירסום הקוד (ועוד בעייה קטנה במחלקה)"
מקווה שהרעיון שלי מספיק אלגנטי (ובמיוחד שהוא פועל):
יצרתי משתנה מחלקה:
הגדרתי אותו כ- false כערך התחלתי. משתנה זה "אומר" לך אם משתמשים ברגע זה במחלקה, באחת מהפונקציות שמבצעות את ה-fade.
ואז, לדוגמא, בפונקציה initIn כתבתי:
קוד:
this.initIn = function(sine, speed)
{
if (this.inUse)
{
window.setTimeout("this.initIn(sine, speed);", timeToRun);
return false;
}
window.clearInterval(this.handler);
this.sine = sine;
this.counter = 0;
this.setOpacity(0);
this.handler=window.setInterval("this2.fadeIn(this2.obj);", speed);
return this.inUse = true;
}
בפרמטר השני של הפונקציה window.setTimeout כתבתי את המשתנה timeToRun, כיוון שלא הבנתי בדיוק כמה זמן לוקח לכל פונקציה לבצע את ה-fade שלה. ו-30 מילישניות לא היה נראה לי הגיוני...אולי 3 שניות הגיוני, אבל השארתי את החלק הזה לך.
נערך לאחרונה ע"י DCD בתאריך 27-10-2007 בשעה 17:23.
|