טאבים ב jQuery.
למי שלא יודע מה זה טאבים, שיכנס לפרופיל שלו ויראה אצלו "הודעות הגולשים, אודותיי, חברים ..", אז זה טאבים, סוג של תפריט מהיר.
במדריך הזה נלמד איך לעשות טאבים כאלה עם אנימציה נחמדה.
נתחיל ב HTML.
תחילה ניצור תפריט עם UL, עם class="pages" , ובתוכו נכניס לכל עמוד LI חדש.
לדוגמא אם אנחנו רוצים שיהיו לנו 3 עמודים, אז ניצור את זה ככה:
התוצאה שלנו כרגע היא כזאת:קוד HTML:<ul class="pages"> <li>page 1</li> <li>page 2</li> <li>page 3</li> </ul>
עכשיו ניצור דיב עם class="tabs", שבתוכו כל טאב יהיה בדיב.
כלומר הדיב שבתוך ה tabs צריך להיות באותו סדר שה li בתוך pages.
אז ניצור גם הפעם 3 דיבים.
התוצאה עד עכשיו היא כזאת:קוד HTML:<div class="tabs"> <div>bla bla 1<BR>bla bla 1<BR>bla bla 1<BR>bla bla 1<BR>bla bla 1<BR>bla bla 1<BR></div> <div>bla bla 2<BR>bla bla 2<BR>bla bla 2<BR>bla bla 2<BR>bla bla 2<BR>bla bla 2<BR></div> <div>bla bla 3<BR>bla bla 3<BR>bla bla 3<BR>bla bla 3<BR>bla bla 3<BR>bla bla 3<BR></div> </div>
![]()
הקוד המלא של ה HTML:
נעבור ל CSS.קוד HTML:<ul class="pages"> <li>page 1</li> <li>page 2</li> <li>page 3</li> </ul> <div class="tabs"> <div>bla bla 1<BR>bla bla 1<BR>bla bla 1<BR>bla bla 1<BR>bla bla 1<BR>bla bla 1<BR></div> <div>bla bla 2<BR>bla bla 2<BR>bla bla 2<BR>bla bla 2<BR>bla bla 2<BR>bla bla 2<BR></div> <div>bla bla 3<BR>bla bla 3<BR>bla bla 3<BR>bla bla 3<BR>bla bla 3<BR>bla bla 3<BR></div> </div>
בקובץ ה CSS אנחנו צריכים לעצב את הטאבים שלנו.
נתחיל בעיצוב העמודים, בכך שנעשה שכל העמודים יהיו באותה שורה, ושהם יהיו באמצע ושיהיה להם רקע.
איך שזה אמור להיראות עד עכשיו:קוד HTML:.pages {list-style:none; padding:0; margin:0; text-align:center;} .pages li {display:inline; background:lightgray; padding:2px 10px; cursor:pointer;}
![]()
עכשיו נעצב את הטאבים ככה שיהיה להם מסגרת אפורה, ושהם יהיו ממורכזים.
עכשיו נצטרך לעשות ככה שרק הטאב הראשון יופיע, ושכל השאר יהיו מוחבאים - מזכיר את מה שעכשיו בגלריה.קוד HTML:.tabs {border:1px solid gray; margin:auto; width:750px; padding:5px; margin-top:2px;}
נוסיף את השורה הזאת כדי לבצע זאת:
עכשיו הטאבים צריכים להיראות כך:קוד HTML:.tabs div {display:none;} .tabs div:first-child {display:block;}
זהו, סיימנו את החלק של העיצוב.
קוד ה CSS המלא שעשינו בחלק הזה:
עכשיו נשאר רק החלק של ה jQuery - החלק שגורם לזה לעבוד.קוד HTML:.pages {list-style:none; padding:0; margin:0; text-align:center;} .pages li {display:inline; background:lightgray; padding:2px 10px; cursor:pointer;} .tabs {border:1px solid gray; margin:auto; width:750px; padding:5px; margin-top:2px;} .tabs div {display:none;} .tabs div:first-child {display:block;}
אוקי, אז עכשיו נתחיל עם החלק של ה jQuery.
מה שבעצם אמור לקרות זה שבמידה ואנחנו נלחץ על אחד הכפתורים, אז הטאב שהמיקום שלו הוא כמו המיקום של העמוד יופיע.
איך עושים את זה? פשוט מאוד.
נוסיף אירוע לחיצה על אחד הכפתורים.
בתוך האירוע נוסיף שורה אשר תכניס למשתנה npage את המספר של הכפתור שנלחץ עליו.קוד HTML:$(".pages li").click(function() { });
נעלים את כל הטאבים ע"י אנימציה:קוד HTML:var npage = $(this).index();
עכשיו ניגש לטאב שנמצא במקום של הכפתור, נחכה 0.3 שניות, ואז נגרום לו להופיע.קוד HTML:$(".tabs div").slideUp(300);
זהו, סיימנו את הטאבים!קוד HTML:$(".tabs div").eq(npage).delay(300).slideDown(200);
למי שלא הצליח, הינה הקוד המלא של הטאבים:
כל שאלה, הערה, בקשה תתקבל בברכה.קוד HTML:<style type="text/css"> body {font-family:arial;} .pages {list-style:none; padding:0; margin:0; text-align:center;} .pages li {display:inline; background:lightgray; padding:2px 10px; cursor:pointer;} .tabs {border:1px solid gray; margin:auto; width:750px; padding:5px; margin-top:2px;} .tabs div {display:none;} .tabs div:first-child {display:block;} </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> $(document).ready(function() { $(".pages li").click(function() { var npage = $(this).index(); $(".tabs div").slideUp(300); $(".tabs div").eq(npage).delay(300).slideDown(200); }); }); </script> <ul class="pages"> <li>page 1</li> <li>page 2</li> <li>page 3</li> </ul> <div class="tabs"> <div>bla bla 1<BR>bla bla 1<BR>bla bla 1<BR>bla bla 1<BR>bla bla 1<BR>bla bla 1<BR></div> <div>bla bla 2<BR>bla bla 2<BR>bla bla 2<BR>bla bla 2<BR>bla bla 2<BR>bla bla 2<BR></div> <div>bla bla 3<BR>bla bla 3<BR>bla bla 3<BR>bla bla 3<BR>bla bla 3<BR>bla bla 3<BR></div> </div>




ציטוט ההודעה