|
הרשם | ![]() |
שאלות ותשובות | ![]() |
רשימת חברים | ![]() |
לוח שנה | ![]() |
הודעות מהיום | ![]() |
חיפוש | ![]() |
|
![]() |
![]() |
|
כלים לאשכול | תצורת הצגה |
![]() |
# 1 |
Permanently Banned
|
[שאלה -Javascript] מה לא תקין בקוד הרנדומלי?
שלום לכל המשתמשים היקרים,
לפני דקות ספורות יצרתי לי סקריפט שמציג לוגו רנדומלי. אבל למרות זאת, הוא אינו מציג את הלוגו כראוי. הקוד: HTML קוד:
var logo = new Array() logo[1] = '/style/logos/logo1.swf' logo[2] = '/style/logos/logo2.swf' logo[3] = '/style/logos/logo3.swf' logo[4] = '/style/logos/logo4.swf' var j = 0 var p = logo.length; var preBuffer = new Array() for (i = 0; i < p; i++){ preBuffer[i] = new Image() preBuffer[i].src = logo[i] } var whichLogo = Math.round(Math.random()*(p-1)); function showLogo(){ document.write('<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" '); document.write('codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" '); document.write('border="0" width="780" height="161">'); document.write('"<param name="movie" value="+logo[whichLogo]+">'); document.write('<param name="quality" value="High">'); document.write('<embed src="+logo[whichLogo]+" '); document.write('pluginspage="http://www.macromedia.com/go/getflashplayer" '); document.write('type="application/x-shockwave-flash" name="obj1" width="780" '); document.write('height="161" quality="High"></object>'); } showLogo(); כשהלוגו מוצג, רואים רק לבן, וכתוב Movie not loaded, מה לא נטען? אני גם ניסיתי קישור מלא. תודה מראש, אלי. (חזרתי ![]() עריכה: ניסיתי ככה: HTML קוד:
var Logo = new Array() Logo[1] = "/style/logos/logo1.swf"; Logo[2] = "/style/logos/logo2.swf"; Logo[3] = "/style/logos/logo3.swf"; Logo[4] = "/style/logos/logo4.swf"; var L = Logo.length; var whichLogo = Math.round(Math.random()*(L-1)); function showLogo(){ document.write('<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" '); document.write('codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" '); document.write('border="0" width="780" height="161">'); document.write('"<param name="movie" value="+Logo[whichLogo]+">'); document.write('<param name="quality" value="High">'); document.write('<embed src="+Logo[whichLogo]+" '); document.write('pluginspage="http://www.macromedia.com/go/getflashplayer" '); document.write('type="application/x-shockwave-flash" name="obj1" width="780" '); document.write('height="161" quality="High"></object>'); } showLogo(); ![]() תודה מראש. Last edited by Homie; 17-04-06 at 17:34.. |
![]() |
![]() |
# 2 |
אין כמו ב127.0.0.1
|
HTML קוד:
document.write('"<param name="movie" value="+Logo[whichLogo]+">');
זה whichLogo ולא מערך במשתנה Logo... אותה טעות גם בקוד הראשון. עריכה: אני חושב שהבנתי. אתה רוצה לקרוא ללוגו שהמפתח שלו הוא whichLogo.. אממ.. תנסה להפוך את whichLogo לקטע במערך עצמו.. זאת אומרת להפוך אותו לLogo לעשות השמה לתוך whichLogo Last edited by BlueNosE; 17-04-06 at 21:59.. |
![]() |
![]() |
# 3 | |
Permanently Banned
|
ציטוט:
עומר, יש לך מושג איך לתקן את זה? זה קצת דחוף. תודה מראש. |
|
![]() |
![]() |
# 4 |
חבר פורום
|
קוד:
var whichLogo = Math.round(Math.random()*(L-1)); ככה: קוד:
var whichLogo = Math.round(Math.random()/(L-1)); אתה צריך לחלק, רמז לכך יכול להיות round שמטרתה לעגל (כפל של שני מספרים שלמים יתן שלם, חילוק לעומת זאת יכול להחזיר מספר עשרוני) ולמעשה במקרה של כפל הפונקציה מיותרת, בעוד שבמקרה של חילוק היא נחוצה.
__________________
ניר, מתכנת PHP מקצועי עם ידע ויכולות מוכחות. צור קשר: MSN Messanger: MasterNir@gmail.com E-mail: MasterNir@gmail.com ICQ #: 171963672 |
![]() |
![]() |
# 5 | |
Permanently Banned
|
ציטוט:
![]() תוכל בבקשה להביא לי את הקוד כולו מתוקן. והבנתי מה הבעיה פחות היותר, הוא לא לוקח את ה-+Logo[whichLogo]+ יעני בדקתי במקור של העמוד HTML, ואני רואה שהוא קורא לשם של הקובץ: HTML קוד:
+Logo[whichLogo]+.swf |
|
![]() |
![]() |
# 6 |
חבר פורום
|
אה, לא שמתי לב לזה קודם... אתה אמור להוסיף ' לפני הפלוס הראשון ואחרי הפלוס השני, לשרשר את המשתנה של הלוגו לשני מחרוזות (לפניו ואחריו).
לדוגמה את השורה הזאת: HTML קוד:
document.write('"<param name="movie" value="+Logo[whichLogo]+">');
HTML קוד:
document.write('"<param name="movie" value=" ' +Logo[whichLogo]+ ' ">');
__________________
ניר, מתכנת PHP מקצועי עם ידע ויכולות מוכחות. צור קשר: MSN Messanger: MasterNir@gmail.com E-mail: MasterNir@gmail.com ICQ #: 171963672 |
![]() |
![]() |
# 7 | |
Permanently Banned
|
ציטוט:
הוא שינה את שם הלוגו ל-undefined. .... Last edited by Homie; 18-04-06 at 17:36.. |
|
![]() |
![]() |
# 8 |
חבר פורום
|
תעשה document.write ל-whichLogo ותכתוב מה התוצאה...
__________________
ניר, מתכנת PHP מקצועי עם ידע ויכולות מוכחות. צור קשר: MSN Messanger: MasterNir@gmail.com E-mail: MasterNir@gmail.com ICQ #: 171963672 |
![]() |
![]() |
# 9 |
אין כמו ב127.0.0.1
|
וואלה שמתי לב למשהו לא בסדר בשורה ולא הבנתי מה אז חשבתי שזה הקריאה למשתנה..
חח אממ, אני לא ממש מבין. HTML קוד:
var whichLogo = Math.round(Math.random() / (L-1)); L שווה ל4. L-1 שווה ל3. אוקיי, מבצע: 63 / 3 נותן 21. כלומר יקרא לLogo[21]. לא נדמה לי שקיים.. עדיף כבר לעשות פונקצייה רנדומלית שבוחרת מספרים בטווח של בין 0 ל3.. לא זוכר אותה כרגע מצטער אני יכול לחפש באיציק1 (סט אפ.. שכחתי.. S: ) |
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|