צפיות
תשובות
אנשים… בעיית DHTML
אני מנסה לעשות לחצן שברגע שלוחצים עליו אז ה-BORDER שלו הופך ל-INSET וברגע שעוזים אותו אז הוא חוזר להיות OUTSET
הלחצן שלי הוא SPAN וזה הקוד שלו
<span class="menuButton" onmouseover="menuBgColor('nirTheKing','over')" onmouseout="menuBgColor('nirTheKing','out')" onkeydown="menuBgColor('nirTheKing','up')" id="nirTheKing"> ניר המלך </span>
(אל תתיחסו ל-ID)
וזו הפונקציה שאני עושה
function menuBgColor(id,type){
var obj = document.getElementById(id);
switch (type){
case "over":
obj.style.backgroundColor="#FDD601"
obj.style.borderStyle="outset"
break;
case "out":
obj.style.backgroundColor="#FFFFFF"
obj.style.borderStyle="solid"
break;
case "up":
obj.style.backgroundColor="#FDD601"
obj.style.borderStyle="inset"
break;
}
}
משום מה אירוע onkeydown לא מתבצע לי מישהו יכול לעזור לי
בתודה ניר
14 תשובות
אני מתבייש

טעיתי באירוע
יש ל בעייה בהתאמה עם IE
אני עכשיו בונה את האתר שלי על מוזילה (מההתחלה) הכל עובד מצוין גם בו וגם ב-IE אבל אני עושה תפריט אופקי נפתח ונתקלתי בבעיה. אני משתמש במאפיין margin-right של אלמנטי התיבות (במקרה שלי SPANים) עכשיו במוזילה אני כותב במאפיין הזה 90 והוא נמצא מתחת ללחצן של התפריט אבל ב-IE הוא נמצא מתחת ללחצן אבל מימינה לו ז"א ב-IE ה-margin-right שעשיתי לא מספיק וצריך להגדיל אותו
עכשיו יש לי אפשרות כזאת
לשלוח פרמטר נוסף שיהווה את ה-margin-right ב-IE ואז עושים בדיקה של הדפדפן
ושמים את המרג'ין בהתאם.
האם להשתמש בה? או שיש אפשרות יותר טובה ויעילה ?
בתודה ניר
COLLECTIONS
איך ניגשים לקולקטשיין של ה-CSS אני יודע שקיים קולקטשיין כזה אבל בריפרנסים לא מצאתי אותו (לא ברירפנסים כאן באתר)
קוד.
לא ממש אוסף..
ויתרתי על התפריט נפתח
אבל יש לי

בעייה אחרת
שמתי למסמך שלי DOCTYPE של XHTML transintion(כך כותבים?!!!)
וב-IE אפקט הכפתור שעשיתי על SPAN נעלם לי לעומת מוזילה שעשתה לי את האפקט כמו שצריך
אם אני מוריד את ה-DOCTYPE אז אפקט הכפתור עובד אבל אני עדיין רוצה לעשות את המסמך שלי תקין אז מה אני יכול לעשות
העלתי עמוד HTM שיראה את הדברים
תודה רבה
יש אם זה בעייה
הקלאסים שנמצאים בקובץ CSS חיצוני לא נכנסים לי למערך האם יש פיתרון לכך?
(שהקלאסים החיצוניים כן יכנסו למערך ?)
בתודה ניר
אין סיבה שלא יעבוד
מצטער טעות שלי (ובעיה)
לא ניגשתי למערך של ה-קלאסים נכון שכחתי S ב-styleSheets ו-IE ומוזיךה ךא החזירו לי ERROR (כי השתמשתי בזה בלולאה אבל אני לא יודע חוץ מזה)
אז חשיבתי הייתה לא נכונה.
בכל מקרה הבעיה שלי אני רוצה לבדוק אם קיימת תכונה מסוימת בקלאס מסוים ואם כן לשנות בהתאם לדפדפן (במקרה הזה היד החמה)
עשיתי לולאה שרצה על הקלאסים הקיימים ומכניסה לתוך איבר מערך אחר את כל ה-rules של הקלאס (rules- כל המאפיינים הנמצאים בקלאס אחד)
עכשיו שעשיתי את הבדיקה של אם קיים מאפיין ה-cursor זה הביא לי הודעת שגיאה שהוא לא מכיר במאפיין cursor
זה הקוד שעשיתי
function styleForNavigator(){
var theRules = new Array();
if (!document.styleSheets) return;
for (var i=0;i<document.styleSheets.length;i++){
if (document.styleSheets[i].cssRules)
theRules[i] = document.styleSheets[i].cssRules;
else if (document.styleSheets[i].rules)
theRules[i] = document.styleSheets[i].rules;
else return;
if(theRules[i].style.cursor){
if (navigator.appName=="Microsoft Internet Explorer")
theRules[i].style.cursor = "hand"
else
theRules[i].style.cursor = "pointer"
} }
}
בתודה ניר

אמממ…
קודם כל – זה מיותר.
תכתוב בסטייל שלך pointer ויראו את זה בשניהם.
אתה לא יכול לכתוב hand כי מוזילה לא יזהה אותו. [ראה אלרט ראשון בקובץ המצורף – הוא פשוט לא מתייחס ל-cursor אם יש שם hand], כך שאת ההחלפה תצטרך לעשות רק ל-IE, וזה כבר מיותר.
הקטע הוא שלכל מי שאין IE 6
או ליתר דיוק IE 5.5 ומעלה יוכל לראות את היד החמה כי IE 5 ומטה לא מכירים בזה ואני רוצה שגם לכל גרסאות אקספלורר וגם בכל הדפדפנים האחרים יראו את היד החמה
כנראה לא הבנתי נכון את הדברים
המערך styleSheets אז באיבר הראשון שלו (0) יש את כל הקלאסים שהוגדרו בבלוק העיצוב הראשון במסמך ?
ז"א בעמוד שהעלת יש את זה
<style>
.fah{font-weight:bold;cursor:hand;}
.gah{font-weight:bold;cursor:pointer;}
.dah{text-decoration:underline;color:red;}
</style>
והסקריפט מתייחס רק לאיבר הראשון 0 שבמערך ובאלרטים (במוזילה) מופיעים הקלאסים האלו האם עכשיו הבנתי את האוסף ?
כן
והאלרטים באים רק כדי להראות לך שמוזילה מתעלם לחלוטין מהנאפיין cursor אם כתוב לו hand.
לכן צריך לכתוב pointer, ולהריץ את הסקריפט שמשנה ל-hand רק לגולשי IE.
בניתי אצלי פונקציה כמו שלך
. סימן שזה לא משנה ל-HAND 
רק בלי האלרט וגולש אחד שמשתמש ב-IE 5 (ב-WIN 98) אמר לי שהוא לא רואה את היד החמה