ABA


"|עזרה| זקוק לעזרה ולפתרון במערך ה Z-INDEX"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #15607 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15607
שרון אורן 
חבר מתאריך 27.5.02
259 הודעות, דרג אמינות חבר זה
   17:56   28.02.10   
אל הפורום  
  |עזרה| זקוק לעזרה ולפתרון במערך ה Z-INDEX  
 
   ערכתי לאחרונה בתאריך 28.02.10 בשעה 18:00 בברכה, שרון אורן
 
שלום לכולם.
האתר שלי בנוי באופן הבא:

http://rotter.name/User_files/nor/4b8a915e6243d659.jpg

כאשר:
* DIV1 הוא האבא של DIV2, DIV3, DIV4
* ו- DIV2 הוא האבא של DIV5 ו- DIV7 (כנל לגבי DIV4).

בלחיצה על כפתור אני רוצה שהאתר שלי 'יוחשך' באופן הבא:


http://rotter.name/User_files/nor/4b8a918f62ca6828.jpg


הצלחתי ל'החשיך' אותו על ידי כך שיצרתי DIV אבסולוטי בגודל כל המסך עם תמונת רקע ו OPACITY עם ZINDEX גבוה יותר מאשר כל האלמנטים בעמוד.
וגם את ההודעה שמרכז המסך הצלחתי לעשות.. גם זה על ידי כך שנתתי Z-INDEX גבוה יותר מאשר כל האלמנטים בעמוד.

עכשיו איפה הבעיה?
כמו שניתן לראות בתמונה השניה, יש את האזור שהוא לא מוחשך וזאת הבעיה שלי.
אם נסתכל על התמונה הראשונה שזה מבנה האתר שלי מה שאני רוצה לעשות.
זה להחשיך את כל DIV1, ורק ש DIV5 , DIV7,DIV6 ו DIV 8 ישארו 'מעל' ההחשכה.
זאת אומרת שהם צריכים Z-INDEX יותר גדול מאשר האלמנט האבסולוטי עם תמונת הרקע וה OPACITY שהוא בעצם מה שמחשיך.
אבל הבעיה היא ש DIV5 לדוגמא הוא הבן של DIV2. ו DIV 2 אמור להיות להיות מוחשך. ( ZINDEX יותר נמוך מאשר האלמנט שמחשיך את העמוד).
ככה שנוצרת לי בעיה בהיררכיה של האלמנטים כדי להגיע לפתרון המבוקש כי לפי מה שראיתי והבנתי אי אפשר לתת סתם לאלמנט פנימי יותר ZINDEX גבוה יותר משל אבא שלו כדי שזה יצא בצורה שאני רוצה.

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

פתיחת אייפונים נעולים לסים פרי
https://www.unlock-it.co.il


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  זה בעייתי, שמשון פישטונה 28.02.10 19:11 1
     אני אבחן את האופציה ואעדכן בהתאם שרון אורן  28.02.10 19:14 2
  היה לי קצת זמן, אז כתבתי לך משהו קטן בJS, שמשון פישטונה 28.02.10 22:30 3
     הפתרון שלך עובד אבל לא בדיוק פותר לי את הבעיה שרון אורן  01.03.10 13:53 4

       
שמשון פישטונה

דרג אמינות חבר זה
   19:11   28.02.10   
אל הפורום  
  1. זה בעייתי,  
בתגובה להודעה מספר 0
 
   אני מקווה שהבנתי נכון, הDIV המחשיך נוצר מעל הכול בסופו של דבר, ובגלל המבנה של האתר שלך, זה בעיה להתחיל להגדיר את כול הdivים שלך אבסולוטים או רלטיבים ולהגדיר להם z-index זה עלול ליהיות מעיק ביותר, מה שכן הייתי עושה, זה החשכה ספציפית לחלקים, ולא גלובאלית לכול האתר, מה שאומר שמעל כול DIV יהיה DIV מחשיך.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
שרון אורן 
חבר מתאריך 27.5.02
259 הודעות, דרג אמינות חבר זה
   19:14   28.02.10   
אל הפורום  
  2. אני אבחן את האופציה ואעדכן בהתאם  
בתגובה להודעה מספר 1
 
   תודה

פתיחת אייפונים נעולים לסים פרי
https://www.unlock-it.co.il


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
שמשון פישטונה

דרג אמינות חבר זה
   22:30   28.02.10   
אל הפורום  
  3. היה לי קצת זמן, אז כתבתי לך משהו קטן בJS,  
בתגובה להודעה מספר 0
 
   מה שאתה עושה זה בוחר את האלמנטים שאתה רוצה להחשיך וזהו בערך, הכול נעשה בJS.

זאת המחלקה בJS:


var PartialBlackPage = function ()
{
this.selected = null;
this.current = null;

this.select_elements = function (elements)
{
this.selected = elements;
}

this.execute = function ()
{
for (var el in this.selected)
{
this.current = document.getElementById(this.selected[el]);

var createBlack = document.createElement("div");

createBlack.style.top = this.current.offsetTop;
createBlack.style.left = this.current.offsetLeft;

createBlack.style.width = this.current.offsetWidth;
createBlack.style.height = this.current.offsetHeight;

createBlack.className = 'opacity';
createBlack.setAttribute("class","opacity");

this.current.parentNode.appendChild(createBlack);

}
}
}

השימוש הוא בצורה הבאה:


var partialObject = new PartialBlackPage();
var elements = ["test","test3"];

partialObject.select_elements(elements);
partialObject.execute();

כשElements מכיל את כול האלמנטים המוחשכים שלך בתוך מערך, דוגמא לשימוש:


<html>
<head>
<script src="partial_black.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload = function ()
{
var partialObject = new PartialBlackPage();
var elements = ["test","test3"];

partialObject.select_elements(elements);
partialObject.execute();
}
</script>
<style type="text/css">
div#test { width: 200px; height: 200px; border: 1px solid black;}
div#test2 { width: 500px; height: 200px; border: 1px solid black;}
div#test3 { width: 200px; height: 200px; border: 1px solid black;}
.opacity {opacity: .75;filter: alpha(opacity=75); -ms-filter: "alpha(opacity=75)";-khtml-opacity: .75; -moz-opacity: .75; position: absolute;background-color: black;}
</style>
</head>
<body>
<div id="test">dasdas</div>
<div id="test2">dsadasdasdas</div>
<div id="test3">daskjdkasdas</div>
</body>
</html>

אפשר גם לשחק עם אפקט הfade של jquery ולוותר על הappendChild.
תהנה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
שרון אורן 
חבר מתאריך 27.5.02
259 הודעות, דרג אמינות חבר זה
   13:53   01.03.10   
אל הפורום  
  4. הפתרון שלך עובד אבל לא בדיוק פותר לי את הבעיה  
בתגובה להודעה מספר 3
 
   הרצתי אותו והכנסתי אותו לדף שלי. אבל אני נתקל בבעיות שספק גדול אם בסופו של דבר התוצאה תהיה מה שרציתי..

הגדרתי ID לתגית BODY כך שאמור להחשיך לי את כל העמוד.
הסקריפט עובד. אבל בסופו של דבר מצאתי את עצמי מגדיר ZINDEX מאחר ונותרו כמה אלמנטים שנשארו 'מעל' ההחשכה. שהאמת.. אין לי מושג למה ואיך הם נשארו ניסיתי לבדוק את זה אבל לא הצלחתי להבין.

עוד משהו - אלמנטים שנתתי להם background-color קפצו להיות מעל ההחשכה ובעצם אמרתי לעצמי שככה אני בעצם אבליט את כל האלמנטים שאני רוצה.

פתיחת אייפונים נעולים לסים פרי
https://www.unlock-it.co.il


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net