צפיות
תשובות
בעיה בJS …
הנה פונקציה קטנה שכתבתי:
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 תשובות
ככה
document.getElementById(objName).style[aProperty] = aHeight / 582 * document.body.clientHeight + "px";
תודה רבה ! פועל מעולה !
איפה בדיוק שמים את זה?
איפה בדיוק שמים את זה?
אהה חח לא שמתי לב לקוד. סבבה הבנתי
סבבה הבנתי