View Single Post
ישן 10-07-13, 22:39   # 12
IgalSt
מנהל פורום, עסק רשום
 
IgalSt's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: המרכז
גיל: 37
הודעות: 1,432
Send a message via Skype™ to IgalSt

IgalSt לא מחובר  

ציטוט:
נכתב במקור על ידי בניה צפה בהודעה
הדבר שאולי הכי מעצבן הוא זה אי אפשר לעשות overflow:scroll, אבל להסתיר את ה scrollbars.
ואז הדבר היחידי שהיה צריך לעשות זה לממש את הסקולבר עצמו ולא את כל הפונקציונאליות של הסקרולינג.
עכשיו עלה לי רעיון פשוט להסתיר את הסקרולבר הטבעי.
מקווה שבקרוב אני אעשה REFACTOR לזה אצלינו ויהיה לי זמן להתעמק בזה שוב.

תוספת:
ניסיתי, ואפשר לתת לPARENT עם ה overflow:scroll
visibility: hidden
לילדים שלו visibility: visible
ואז פשוט לא רואים את ה scrollbar
זה כיוון מאוד מעניין
יש לך את LionBars שעושים משהו דומה למה שאתה מציעה. אכן פתרון עדיף משמעותית. עם זאת, גם פה נתקלנו בבעיות (לדוגמה, אחת הגירסאות האחרונות של FF לא דיווה ארועי סקרול כשהם התבצעו בשיטה הזאת).

ציטוט:
נכתב במקור על ידי אבי בר צפה בהודעה
למה עשית מזה דבר כל כך מסובך? אולי במקרים ספציפים לא כדאי להתעסק עם זה.
אבל פייסבוק לדוגמא עיצבה את הסקרולבר בלי שום בעיות.
ויש מספיק סקריפטים שמבצעים את זה בהצלחה.
במקרה הכי גרוע בודקים אם הדפדפן מיושן אם כן מציגים את הסקורלבר הרגיל, בכל מקרה אחוז השימוש בie6 וie7 נמוך מדי כדי לדאוג.
אכן במקרים ספיצים יש בעיות. במקרה הרגיל שאתה רוצה לעשות רק חלון אחד שסביבו אין שום דבר שמשפיע עליו והוא לא משתנה אחרי עליית עמוד - אתה כנראה לא תהיה בבעיה.
אבל ברגע שנסה לעשות משהו מעבור לכך (לדוגמה משהו כזה - http://jsfiddle.net/wh4Rw/), תראה מיד שזה כבר לא כ"כ פשוט. כי אחרי toggle כזה אתה צריך לחשב מחדש את הגודל ובהתאם את הסקרולבר (הוא אמור להראות אחרת אם יש לך יותר/פחות תוכן). ואם כבר עושים את זה, אתה חייב גם לוודא שהגלילה שלך לא חוזרת להתחלה אחרי שאתה מעדכן את הגודל. אז צריך לתחזק גם את זה.
ותחשוב רגע מה קורה אם יש לך חלילה אנימציה ב-toggle של slide up/down. מה עושים במצב כזה? מאתחלים כמה פעמים? רק בסוף?

וזה מקרה מאוד פשוט והגיוני שתרצה לעשות ותתקל בבעיה.
תחשוב לדוגמה על מקרה נוסף, שבו הגודל של האיזור הנגלל גדל בלי שום התערבות מצד JavaScript. לדוגמה מקרה כזה:
http://jsfiddle.net/wh4Rw/1/
מה תעשה כאן? איך תדע שאתה צריך לעדכן את הסקרול?

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

ובקשר לדפדפנים,
IE <=8 זה מיושן מבחינתי.
גם IE9 דפדפן בעייתי אפילו.
אבל כמו שראית, הבעיות לא נעצרות בדפדפנים מיושנים בלבד..
  Reply With Quote