שלח תשובה

זירת השאלות

762
צפיות
5
תשובות

שליטה על כל אות בנפרד

,‏ 11 ביולי, 2010

אני רוצה לקבל שליטה על כל אות בנפרד, לדוגמה, שכאשר העכבר יעבור על כל אות בתוך קטע טקסט היא תשנה את הצבע, או תגדל, תהיה מודגשת וכדומה. איך אני עושה את זה?
הדרך היחידה שראיתי כעת, זה לחלק כל אות עם span ובו להגדיר את מה שאני רוצה, כמובן שא"א לעשות את זה ידני, ולכן עשיתי סקריפט שהופך קטע טקסט לסטרינג ארוך שבו כל אות תופיע בצורה כזו:
"<span onmouseover=style.color='red'  onmouseout=style.color='black'>W</span>"
ואחר כך אני מפליט אותו עם document.write

א. האם קיימת דרך פשוטה יותר?
ב. משום מה בדרך זו השורות אינן נשברות. למה? ואיך אני מתקן את זה?

תודה רבה.

תגיות:

5 תשובות

  1. s976 הגיב:

    לגבי שבירת השורה
    מצאתי מה היתה הבעיה. (פשוט לא היה רווחים).

  2. אני לא מכיר דרך פשוטה, אבל
    לגבי הצמדת האירועים over/out – מציע לעשות את זה עם סקריפט שיתלבש על כל התגים לאחר הטעינה, אחרת העמוד יראה זוועתי.
    למעשה גם את העטיפה של כל אות ב-span אתה יכול לעשות אחרי הטעינה, זה יגרום שגם שבירת השורות תהיה תקינה (כי הפלט הראשוני יהיה טקסט רגיל), וגם לחיסכון משמעותי בתעבורה (אם זה שיקול)


    אלי ענתבי

  3. s976 הגיב:

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

  4. איפה אתה יוצר את ה-SPAN?
    אם אתה יוצר אותו בצד שרת – ה-html שיורד לדפדפן יכלול את כל התגי span פיזית

    כנ"ל לגבי אירועים mouseover – אם בצד שרת אתה מייצר את ה-span עם מאפיין mouseover/out – יוצא שהפלט שלך יראה מיפלצתי, וכמובן – יגזול תעבורה (=זמן) בהעברת המידע מהשרת לגולש

    מה שאני מציע זה שאת ייצור ה-span והאירועים תעשה בצד לקוח, זה גם יעיל וגם מהיר יותר.


    אלי ענתבי

  5. s976 הגיב:

    עכשיו הבנתי.
    אני יוצר את ה-SPAN על ידי javascript שבתוך קובץ HTML. אז לפי מה שאני מבין, זה נוצר בצד לקוח. (ובצד שרת זה כאשר עובדים עם PHP וכדומה).
    תודה רבה.

שלח תשובה