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

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   תכנות - מדריכים, code snippets (https://hosts.co.il/forums/forumdisplay.php?f=68)
-   -   [מדריך] HTML - יצירת טקסט נגלל ע"פ כללי xHTML 1.0 Transitional. (https://hosts.co.il/forums/showthread.php?t=15501)

Distortion 10-02-06 13:42

[מדריך] HTML - יצירת טקסט נגלל ע"פ כללי xHTML 1.0 Transitional.
 
שלום,
אני חדש כאן בפורום. :)
ראיתי פה אשכול שמדבר על טקסט נגלל (כמו marquee) התומך בתקן של אירגון האינטרנט העולמי. אז הנה אני כותב מדריך כיצד עושים זאת, ואני מאמין שזה יעזור לרבים פה. לצערי במדריך השתמשת ב- iframe (לצורך כל שהוא, שבהמשך אני אסביר עליו), ולכן הסקריפט לא יתמוך ב- strict.
אז בואו ונתחיל.

דבר ראשון צרו דף xHTML עם iframe בתוכו וכמובן כוונו את ה- src של ה- iframe לדף בו ימצא הסקריפט, בנוסף העלימו את פסי הגלילה בעזרת המאפיין "scrolling". כלומר:
HTML קוד:

<iframe src="scroll.html" scrolling="no" style="height:20px; width:400px;  padding:0px;"></iframe>
טיפ: ממולץ להוסיף את שלושת המאפיינים הנוספים שהכנסתי ל- style של ה- iframe כדי שסקריפט יצא טוב.
ב- iframe השתמשתי כדי להעלים את הטקסט כאשר הוא מגיע לקצה, אני עדיין עובד על פיתרון שיבטל את ה- iframe ויאפשר תמיכה ב- strict.

עכשיו ניצור דף xHTML נוסף בו ימצא הסריפט שגורם לטקסט לזוז.
אז איך זה עובד?
אנחנו קובעים מיקום אבסולטי לטקסט בדף, המקום הראשוני שנקבע למשפט הוא מינוס אורך ה- span בו ישכון המפשט זאת כדי שבהתחלת הגלילה הטקסט יהיה מוסתר. דבר ראשון יוצרים sapn עם טקסט בתוכו ומגדירים מיקום אבסולטי:
HTML קוד:

<span id="scroll" style="position:absolute; width:auto;">הטקסט שלכם</span>

לאחר מכן אנחנו יוצרים את הפונקציה הבאה שמגדירה את המיקום האבולוטי מ- left (אם רוצים כיוון גלילה לצד השני, יש להפוך את הסקריפט) ומפעילה את הפונקציה שמזיזה את הטקסט (ע"י שימוש ב- SetTimeout).הפונקציה הזאת תופעלכאשרהדף יעלה (כלומר onload בתגית ה- body):
HTML קוד:

document.getElementById('scroll').style.left=-parseInt(document.getElementById('scroll').offsetWidth)+"px";
setTimeout('scroll();',1);

השורה הראשונה זהו המיקום של הטקסט מצידו השמאלי של המסך וגם אורך ה- span שבותוכו נמצא הטקסט (זאת כדי שהטקסט יעם כשצריך ויופיע כשצריך). השימוש בפונקציה זו נעשה כדי שגם אתרים דינמיים בהם אורך המשפט לא קבוע יוכלו להשתמש בסקריפט הזה.

נכתוב פונקציה נוספת שנקראת scroll (כפי שכתוב ב- SetTimeout בפונקציה הראשונה). בפונקציה זו שחוזרת על עצמה כל הזמן בעזרת SetTimeout נשלוט על מיקום הטקסט. יש לדאוג שכל פעם הטקסט יזוז פיקסל אחד ימינה וכאשר קצו השמאלי של הטקסט יגיע לסוף ה- iframe הטקסט יחזור למיקום ההתחלתי שלו (השורה הראשונה בפונקציה הראשונה). וכך זה יעשה:
HTML קוד:

var x=parseInt(document.getElementById('scroll').style.left);
if(x>400)
    x=-parseInt(document.getElementById('scroll').offsetWidth);
x++;
document.getElementById('scroll').style.left=x+"px";
setTimeout('scroll();',1);



חשוב: במקום 400 עליכם להכניס את רוחב ה- iframe בו יושב הדף המכי את הסקריפט.
וזהו, הפונקציה עובדת.

דוגמה לסקריפט בפעולה.


בהצלחה!

שקד 10-02-06 13:49

מדריך נחמד

תודה על ההשקעה :)

lalamen 10-02-06 13:53

תודה בדיוק לפני כמה ימים שאלתי על זה

SHeDoN 10-02-06 14:21

תודה!
ברוך הבא, נראה לי שתיהיה חלקה נכבד מהפורום :-)

miniature 10-02-06 15:05

תודה =]

somebody 10-02-06 15:07

יפה יפה:)
רעיון נחמד מאוד.

למה אתה לא שם את זה בתוך DIV?
DIV ברוחב 400PX..

Kuchi 10-02-06 15:28

יפה יפה
אבל באמת חבל לעשות את זה באייפרם זה עיקשי אפשר בדיב בכל מקרה יפה אהבתי !

Distortion 10-02-06 16:50

שמחתי לעזור. |קורץ|
בקשר ל- iframe, רוצים לנסות לעשות את זה, KuChI-PoChI ו- somebody? 8-)

Kuchi 10-02-06 16:57

ציטוט:

נכתב במקור על ידי Distortion
שמחתי לעזור. |קורץ|
בקשר ל- iframe, רוצים לנסות לעשות את זה, KuChI-PoChI ו- somebody? 8-)

לעשות מה ?

Distortion 10-02-06 17:13

ציטוט:

נכתב במקור על ידי KuChI-PoChI
לעשות מה ?

ליצור סקריפט ללא iframe אלא עם DIV.


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

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