שלח תשובה

זירת השאלות

645
צפיות
4
תשובות

בעיה בJS …

,‏ 30 באוגוסט, 2006

הנה פונקציה קטנה שכתבתי:


function byH(objName, aHeight, aProperty) {
    document.getElementById(objName).style.aProperty = aHeight / 582 * document.body.clientHeight + "px";
}

ואני קראתי לה עם השורה:


byH('title', 582, 'height');


מה שזה אמור לעשות זה לגרום לגובה של האלמנט שהID שלו הוא title להפוך לגובה של גוף המסמך אצל המשתמש [או בכללי אמור לשנות תכונה עיצובית כלשהי של אלמנט כלשהו לפי הגובה של המסמך …].
אבל משום מה, זה לא פועל … כשניסיתי להחליף את השורה בפונקציה לזו:


document.getElementById(objName).style.height= aHeight / 582 * document.body.clientHeight + "px";

זה פעל מצויין. למי שלא מצא את ההבדל – במקרה הקודם זה קיבל את שם התכונה מהמשתנה aProperty והפעם הוא מקבל אותו ישירות … אז מה שהבנתי מזה שהוא כנראה מתייחס לaProperty כאל שם של תכונה ולא כאל משתנה שבתוכו יש את שם התכונה …
איך אני גורם לו לקחת את שם התכונה מהמשתנה ?

מקווה שהבנתם את הבעיה,
בתודה, אור.


תגיות:

4 תשובות

  1. yakir14l הגיב:

    ככה

    document.getElementById(objName).style[aProperty] = aHeight / 582 * document.body.clientHeight + "px";

  2. al_n הגיב:

    איפה בדיוק שמים את זה?
    איפה בדיוק שמים את זה?

  3. al_n הגיב:

    אהה חח לא שמתי לב לקוד. סבבה הבנתי
    סבבה הבנתי

שלח תשובה