הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   צריך עזרה ביישום משהו , הבעיה עם JS .. (https://hosts.co.il/forums/showthread.php?t=48445)

X-T 27-06-07 18:51

צריך עזרה ביישום משהו , הבעיה עם JS ..
 
שלום, אני מנסה ליישם דבר כזה
להוסיף סקריפט בדף כלשהו שיגריל משפט ראנדומלי ממערך, וכל X זמן יעשה ריפרש רק לחלק ממנו הוא קורא את זה ולא לכל העיצוב...

הקוד שלי כזה:

PHP קוד:

<SCRIPT LANGUAGE="JavaScript">
function 
rand()
{
quotes = new Array(3);
quotes[0] = "sddd";
quotes[1] = "dfdfff";
quotes[2] = "gggg";
index Math.floor(Math.random() * quotes.length);
document.write(quotes[index]);
}
rand();

</SCRIPT> 

כמה בעיות: שימוש בב SETINTERVAL עלוב ביותר, תוקע לי את כל הדף אחרי REFRESH אחד וגם טוען הכל מחדש.

האם יש דרך נוספת ליישם את זה? האם אפשר עם AJAX? ואם כן אז איך, ואם אפשר עם PHP אז איך...

תודה.

meshuga 27-06-07 18:53

ציטוט:

נכתב במקור על ידי X-T (פרסם 508756)
שלום, אני מנסה ליישם דבר כזה
להוסיף סקריפט בדף כלשהו שיגריל משפט ראנדומלי ממערך, וכל X זמן יעשה ריפרש רק לחלק ממנו הוא קורא את זה ולא לכל העיצוב...

הקוד שלי כזה:

PHP קוד:

<SCRIPT LANGUAGE="JavaScript">
function 
rand()
{
quotes = new Array(3);
quotes[0] = "sddd";
quotes[1] = "dfdfff";
quotes[2] = "gggg";
index Math.floor(Math.random() * quotes.length);
document.write(quotes[index]);
}
rand();

</SCRIPT> 

כמה בעיות: שימוש בב SETINTERVAL עלוב ביותר, תוקע לי את כל הדף אחרי REFRESH אחד וגם טוען הכל מחדש.

האם יש דרך נוספת ליישם את זה? האם אפשר עם AJAX? ואם כן אז איך, ואם אפשר עם PHP אז איך...

תודה.

בטח שאפשר עם AJAX.
אני לא מבין איך "שימוש בב SETINTERVAL עלוב ביותר" כי איך שלא תבנה את זה, בסופו של דבר תשתמש בו או בsetTimeout...

אגב, אני לא מבין, את התוכן אתה סתם באמצע הדף מדפיס באמצעות document.write?..

X-T 27-06-07 18:55

ציטוט:

נכתב במקור על ידי meshuga (פרסם 508757)
בטח שאפשר עם AJAX.
אני לא מבין איך "שימוש בב SETINTERVAL עלוב ביותר" כי איך שלא תבנה את זה, בסופו של דבר תשתמש בו או בsetTimeout...

אגב, אני לא מבין, את התוכן אתה סתם באמצע הדף מדפיס באמצעות document.write?..

בתוך MARQUEE ואיך עם AJAX

meshuga 27-06-07 18:59

ציטוט:

נכתב במקור על ידי X-T (פרסם 508760)
בתוך MARQUEE ואיך עם AJAX

תעשה דף בPHP שיוציא לפלט כל פעם רנדומלי ובעזרת AJAX תיקח את הפלט.

אגב, איזה ערך שמת בINTERVAL?

Meir 27-06-07 19:03

הכי פשוט זה עם setInterval

HTML קוד:

<SCRIPT LANGUAGE="JavaScript">
function rand()
{
quotes = new Array(3);
quotes[0] = "sddd";
quotes[1] = "dfdfff";
quotes[2] = "gggg";
index = Math.floor(Math.random() * quotes.length);
document.getElementById('a').innerHTML = quotes[index];
}


setInterval("rand()", 1000);

</SCRIPT>

<div id="a"></div>


X-T 27-06-07 19:11

ציטוט:

נכתב במקור על ידי elbaz.maor (פרסם 508763)
הכי פשוט זה עם setInterval

HTML קוד:

<SCRIPT LANGUAGE="JavaScript">
function rand()
{
quotes = new Array(3);
quotes[0] = "sddd";
quotes[1] = "dfdfff";
quotes[2] = "gggg";
index = Math.floor(Math.random() * quotes.length);
document.getElementById('a').innerHTML = quotes[index];
}


setInterval("rand()", 1000);

</SCRIPT>

<div id="a"></div>


ואם אני מעונין שבפעם הראשונה שהוא נטען הוא יעלה ישר ולא יחכה? הרי אם אני מגדיר שהוא ישתנה כל 10 שניות, אף אחד לא יחכה לזה, כיצד ניתן לעשות זאת?

meshuga 27-06-07 19:13

ציטוט:

נכתב במקור על ידי X-T (פרסם 508769)
ואם אני מעונין שבפעם הראשונה שהוא נטען הוא יעלה ישר ולא יחכה? הרי אם אני מגדיר שהוא ישתנה כל 10 שניות, אף אחד לא יחכה לזה, כיצד ניתן לעשות זאת?

אז אתה עושה
rand();
ואז
setInterval("rand()", 10000);

X-T 27-06-07 19:20

אם אני עושה ככה הוא לא מתייחס לsetinterval ....
ואיך אני משלב את זה בתוך MARQUEE?

somebody 28-06-07 00:32

ציטוט:

נכתב במקור על ידי X-T (פרסם 508778)
אם אני עושה ככה הוא לא מתייחס לsetinterval ....
ואיך אני משלב את זה בתוך MARQUEE?

שים בתוך המרקיו DIV, ותקבע לה DIV , ID, ואז תשים ע"י innerHTML את תוכן המשפט בה DIV.

וכמו שאמרו לך פה, פעם ראשונה תפעיל את הפונקציה, ואז את ה setInterval.

X-T 28-06-07 05:51

ציטוט:

נכתב במקור על ידי somebody (פרסם 509057)
שים בתוך המרקיו DIV, ותקבע לה DIV , ID, ואז תשים ע"י innerHTML את תוכן המשפט בה DIV.

וכמו שאמרו לך פה, פעם ראשונה תפעיל את הפונקציה, ואז את ה setInterval.

כאשר אני קורא לפונקציה לפני הפקודה, זה כנראה מבטל את ה setInterval.

ולתת גם ל MARQUEE את ה ID של זה?


כל הזמנים הם GMT +2. הזמן כעת הוא 04:09.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ