קהילות פורומים, הורדות, יעוץ ותמיכה


אשכולות דומים

  1. [תמונות] גלריית תמונות של אליפים
    על ידי Pumba בפורום אליפים
    תגובות: 1
    הודעה אחרונה: 30-01-2011, 19:09
  2. גלריית תמונות|עמרי כספי עם משפחת שליט
    על ידי Origin בפורום ספורט מדיה
    תגובות: 5
    הודעה אחרונה: 16-08-2010, 23:43
  3. מערכת גלריית תמונות לאתרים כולל פאנל ניהול מתקדם ועיצוב
    על ידי idanu בפורום גרפיקה ועיצוב אתרים
    תגובות: 1
    הודעה אחרונה: 25-04-2009, 20:36
  4. [גלריית תמונות]
    על ידי kinghagai בפורום גיבורים
    תגובות: 0
    הודעה אחרונה: 28-09-2007, 19:05
  5. אתר עם גלריית תמונות של כל גזעי הכלבים.
    על ידי FireSide בפורום בעלי חיים
    תגובות: 18
    הודעה אחרונה: 15-06-2007, 16:03
+ תגובה לנושא
מציג תוצאות 1 עד 4 מתוך 4

גלריית תמונות ב jQuery.

  1. #1
    משתמש משקיע האוואטר של CSS
    תאריך הצטרפות
    08/2010
    הודעות
    3,206
    לייקים
    176
    נקודות
    1,200
    משפט מחץ
    כי גם מנהלים הם בני אדם..
    מין: זכר

    ברירת מחדל גלריית תמונות ב jQuery.

    שם:  jquery_logo.png
צפיות: 87
גודל:  12.3 קילובייט
    גלריית תמונות ב jQuery
    במדריך הזה אני אלמד אתכם איך לעשות גלריית תמונות ב jQuery עם 2 כפתורים, קדימה ואחורה, יחד עם עיגולי מיספור.

    שלב 1: מבנה הגלריה.
    כדי לבנות גלריית תמונות, קודם כל צריך לבנות את הצד העיצובי.
    אנחנו
    נתחיל בהבנה איך הגלריה שלנו הולכת לעבוד.
    מה שבעצם אמור לקרות, זה להציג את כל התמונות, שלידם יהיה כפתור קדימה ואחורה, שאם לוחצים עליהם אז זה עובר לתמונה הבאה.
    נתחיל עם ה HTML:
    קוד HTML:
    <div class="gallery">
    <div class="arrow" id="pre"> < </div>
    <div id="slide">
    <img src="images/1.jpg">
    <img src="images/2.jpg">
    <img src="images/3.jpg">
    </div>
    <div class="arrow" id="next"> > </div>
    </div>
    בקוד הזה אנחנו הגדרנו כפתור האחורה עם #pre,
    3 תמונות שנמצאות בתוך דיב בשם #slide,
    וכפתור הבא, בשם #next.
    בשני הכפתורים ציינו גם class כ arrow לצורך עיצוב.
    התוצאה שלנו כזאת (אתם רשאים לבחור איזה תמונות שתרצו):
    שם:  1.jpg
צפיות: 105
גודל:  39.1 קילובייט

    עכשיו בואו נעצב את הגלריה שלנו, באופן בסיסי לגמרי.
    נעניק ל .gallery רוחב, ונמרכז אותו, מכיוון שכל מה שיהיה ב .gallery יזוז לצד שמאל (אפשר גם לצד ימין, לצורך הדוגמא נשתמש בשמאל), כדי שהכל יהיה באותה שורה.
    קוד HTML:
    .gallery {width:490px; margin:auto;}
    הרוחב של הגלריה צריך להיות ברוחב התמונות (מאוד מומלץ לעשות את כל התמונות באותו אורך ורוחב), + 20-30px של החצים.
    זה כמובן רוחב מומלץ כדי שהגלריה תהיה כביכול באמצע, אתם גם את זה יכולים לשנות.
    עכשיו נגדיר ל #slide רוחב (כרוחב התמונות), ונמקם אותו בצד שמאל.
    קוד HTML:
    #slide {width:450px; float:left; }
    מה שנקבל עד עכשיו זה כל תמונה בשורה נפרדת, לכן אנחנו צריכים להציג רק את התמונה הראשונה של הגלריה שלנו.
    נעשה זאת באמצעות CSS, ע"י שנגדיר לכל התמונות display none , שזה בעצם מסתיר את התמונות, ורק לתמונה הראשונה נגדיר display block, שזה בעצם מציג את התמונה.
    קוד HTML:
    #slide img {display:none;}
    #slide img:first-child {display:block;}
    עכשיו נראה רק את התמונה הראשונה.
    מה שנשאר לעשות כרגע ב CSS זה לעצב את החצים.
    אתם רשאים לעצב איך שבא לכם, אבל הכנתי מראש קוד שימקם את החצים באמצע התמונה.
    קוד HTML:
    .arrow {float:left; font-size:25pt; font-weight:bold; margin-top:150px; cursor:pointer;}
    עד עכשיו התוצאה שלנו היא כזאת:
    שם:  2.jpg
צפיות: 87
גודל:  23.9 קילובייט
    שלב 2: הפעלת הגלריה.
    אחרי שבשלב הקודם בנינו ע"י CSS את המבנה של של הגלריה שלנו, עכשיו נצטרך לגרום לגלריה שלנו לעבוד.
    נתחיל קודם כל ב"הפעלת" כפתור ה"הבא".
    נתחיל את הקוד שלנו בשורה של ready function.
    קוד HTML:
    $(document).ready(function() {
    
    });
    לפני שנתחיל לבנות את הגלריה שלנו, נוסיף כמה משתנים שיעזרו לנו בהמשך - משתנה שיכיל את כמות התמונות שיש לנו בגלריה, ומשתנה שיכיל את המספר תמונה הבאה (נגיד אנחנו עכשיו בתמונה 1, אז במשתנה יהיה המספר 2).
    קוד HTML:
    var numimg = $("#slide img").index()+1, nextimg = 1; 
    המשתנה numimg מכיל את מספר התמונות שיש לנו בגלריה.
    מכיוון שהספירה מתחילה מ - 0, הוא יציג לנו את מספר התמונות - פחות אחד, אז אנחנו פשוט נוסיף 1 כדי לקבל תוצאה יותר נוחה.
    המשתנה nextimg מכיל את המספר של התמונה הבאה שצריכה להופיע.
    אחרי שיש לנו את המשתנים, נבצע אירוע לחיצה על כפתור הבא, שלהזכירכם הוא #next.
    קוד HTML:
    $("#next").click(function() {
    
    });
    עכשיו מה אמור להיות כשלוחצים על הכפתור? מספר התמונה שנמצא במשתנה nextimg צריכה להופיע.
    אז מה שנעשה זה שאם לוחצים על כפתור ה #next, אז זה יסתיר את כל התמונות, וזה יציג רק את התמונה הבאה.
    לאחר מכן פשוט נגדיל את nextimg ב - 1.
    קוד HTML:
    $("#slide img").hide();
    $("#slide img").eq(nextimg).fadeIn(200);
    nextimg++;
    עם פונקציית eq אנחנו יכולים לפנות לתמונה שמספרה nextimg.
    אם נבדוק, אז מה שעד עכשיו קיבלנו זה שאם לוחצים על כפתור הבא, אז זה עובר לתמונה הבאה.
    דפדפו בתמונות שלכם, והופס! כשמגיעים לתמונה האחרונה התמונות נעלמות.
    למה? כי אחרי התמונה האחרונה אין תמונות, אבל המשתנה nextimg ממשיך לגדול.
    לכן נבצע תנאי, שבמידה והמספר של התמונה הבאה שווה למספר התמונות, אז שזה יחזור להתחלה.
    קוד HTML:
    if(nextimg == numimg) {nextimg = 0;}
    עכשיו תבדקו, ותראו שעכשיו כשמגיעים לתמונה האחרונה, ולוחצים על "הבא", אז זה חוזר לתמונה הראשונה.
    הקוד הסופי של ה"הבא":
    קוד HTML:
    $("#next").click(function() {
    if(nextimg == numimg) {nextimg = 0;}
    $("#slide img").hide();
    $("#slide img").eq(nextimg).fadeIn(200);
    nextimg++;
    });
    עכשיו נעשה את כפתור החזרה.
    הכפתור עובד על אותו עיקרון, רק יש בו קצת שינויים.
    כדי לקבל את המספר התמונה שצריך להגיע אליו, צריך להוריד מ nextimg אחד, כדי להגיע למספר התמונה שאנחנו עכשיו נמצאים, ובתוך ההצגה של התמונה נוריד עוד 1.
    לאחר מכן, נבצע תנאי שיבדוק האם התמונה שאנחנו נמצאים בה כעת היא הראשונה (תמונה מס' 0 - הספירה מתחילה מ - 0), במידה וכן, אז המספר תמונה שאנחנו נמצאים בה זה המספר של כל התמונות.
    קוד HTML:
    $("#pre").click(function() {
    if(nextimg == 0) {nextimg = numimg;}
    nextimg--;
    $("#slide img").hide();
    $("#slide img").eq(nextimg-1).fadeIn(200);
    });
    זהו, סיימנו את החלק של הגלריה.

    שלב 3: עיגולי מיקום.
    בשלב הזה נבצע ככה שמתחת לגלריה יופיעו עיגולים כמספר התמונות, וכל פעם שנעבור בין תמונות, אז העיגול של התמונה יתמלא.
    מקרה כזה הוא דומה למקרה שיש בסמארטפונים, שיש עמודים, ויש עיגולים למטה שממוספרים לפי מספר העמודים שיש.
    איך זה עובד?
    ניצור דיב עם id numnextimg
    קוד HTML:
    <div id="numnextimg"></div>
    ונשאיר אותו ריק.
    נעבור לקובץ ה Css ונעצב את העיגולים, הכנתי גם פה מראש עיצוב:
    קוד HTML:
    #numnextimg {clear:both; margin:auto; margin-top:5px; width:100px; }
    .circle {background:white; margin:auto; border:2px solid gray; border-radius:25px; height:10px; width:10px; 
    float:left; margin:0 5px 0 5px; cursor:pointer;}
    במקרה שלנו, numnextimg זה הדיב הראשי שבתוכו יהיו העיגולים - שהם .circle .
    נעבור לקובץ ה Javascript ועכשיו נעשה קוד שימלא את numnextimg בעיגולים לפי מספר התמונות שיש, ע"י לולאה פשוטה.
    קוד HTML:
    for(var i = 0; i < numimg; i++) {
    nni = $("#numnextimg").html();
    $("#numnextimg").html(nni + '<div class="circle"></div>');
    }
    אל תשכחו להגדיר את המשתנה (nni).
    אם אתם שואלים את עצמכם למה לא השתמשתי ב append, זה בכוונה, כי צריך לעשות את העיגולים ב HTML.
    עכשיו אם נריץ את הקוד, נראה שיש לנו עיגולים.
    שם:  3.jpg
צפיות: 96
גודל:  24.5 קילובייט
    במידה ולא מופיעים לכם עיגולים, חיזרו שוב על השלב הזה, וודאו שכל מה שעשינו בשלבים הקודמים נשמר.
    עכשיו נעשה ככה שהעיגול יהיה צבוע בהתאם לתמונה שאנחנו נמצאים בה.
    קודם כל, נעשה שהעיגול הראשון יהיה צבוע.
    קוד HTML:
    $("#numnextimg .circle").eq(0).css({"background":"lightgray"});
    ועכשיו העיגול הראשון יהיה בצבע אפור.
    אם תלחצו על קדימה ואחורה תראו שהעיגול עדיין על הראשון, לכן נוסיף באירוע לחיצה על #next את השורה הזאת:
    קוד HTML:
    $("#numnextimg .circle").css({"background":"white"});
    $("#numnextimg .circle").eq(nextimg).css({"background":"lightgray"});
    שזה בעצם מאפס את כל העיגולים, ואז צובע את העיגול בהתאם לתמונה שתופיע.

    כנ"ל נעשה גם ב #pre , רק שהפעם נוריד 1 ב nextimg כדי לקבל את המספר של התמונה שאנחנו בה עכשיו (דיברנו על זה בשלב הקודם):
    קוד HTML:
    $("#numnextimg .circle").css({"background":"white"});
    $("#numnextimg .circle").eq(nextimg-1).css({"background":"lightgray"});
    עכשיו אם תדפדפו בין התמונות, תראו שלפי התמונה שאתם נמצאים בה, העיגולים משתנים.
    עכשיו בואו נעשה ככה שאם לוחצים על העיגול השני למשל, אז התמונה השנייה תופיע - מאין דיפדוף מהיר.
    איך זה יעבוד? בידיוק אותו דבר, רק nextimg יהיה שונה.
    ה nextimg יהיה המספר של העיגול שנלחץ עליו, ואז עושים את כל הפעולות שעשינו ב #next.
    קוד HTML:
    $("#numnextimg .circle").click(function() {
    nextimg = $(this).index();
    $("#slide img").hide();
    $("#slide img").eq(nextimg).fadeIn(200);
    $("#numnextimg .circle").css({"background":"white"});
    $("#numnextimg .circle").eq(nextimg).css({"background":"lightgray"});
    nextimg++;
    });
    זהו, סיימתי את המדריך פה.
    לקח לי שעתיים לכתוב אותו, ועוד שעה לבנות מראש, ולחשוב ולתכנן.
    למי שעשה הכל ועדיין לא עובד לו, או שפשוט רוצה את זה מוכן, הינה הקוד המלא של הגלריה:
    קוד HTML:
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <style type="text/css">
    .gallery {width:490px; margin:auto;}
    #slide {width:450px; float:left; }
    #slide img {display:none;}
    #slide img:first-child {display:block;}
    .arrow {float:left; font-size:25pt; font-weight:bold; margin-top:150px; cursor:pointer;}
    #numnextimg {clear:both; margin:auto; margin-top:5px; width:100px; }
    .circle {background:white; margin:auto; border:2px solid gray; border-radius:25px; height:10px; width:10px; 
    float:left; margin:0 5px 0 5px; cursor:pointer;}
    </style>
    <script type="text/javascript">
    $(document).ready(function() {
    var numimg = $("#slide img").index()+1, nextimg = 1, nni;
    
    $("#next").click(function() {
    if(nextimg == numimg) {nextimg = 0;}
    $("#slide img").hide();
    $("#slide img").eq(nextimg).fadeIn(200);
    $("#numnextimg .circle").css({"background":"white"});
    $("#numnextimg .circle").eq(nextimg).css({"background":"lightgray"});
    nextimg++;
    });
    
    $("#pre").click(function() {
    if(nextimg == 0) {nextimg = numimg;}
    nextimg--;
    $("#slide img").hide();
    $("#slide img").eq(nextimg-1).fadeIn(200);
    $("#numnextimg .circle").css({"background":"white"});
    $("#numnextimg .circle").eq(nextimg-1).css({"background":"lightgray"});
    });
    
    for(var i = 0; i < numimg; i++) {
    nni = $("#numnextimg").html();
    $("#numnextimg").html(nni + '<div class="circle"></div>');
    }
    $("#numnextimg .circle").eq(0).css({"background":"lightgray"});
    
    $("#numnextimg .circle").click(function() {
    nextimg = $(this).index();
    $("#slide img").hide();
    $("#slide img").eq(nextimg).fadeIn(200);
    $("#numnextimg .circle").css({"background":"white"});
    $("#numnextimg .circle").eq(nextimg).css({"background":"lightgray"});
    nextimg++;
    });
    });
    </script>
    
    <div class="arrow" id="pre"> < </div>
    <div id="slide">
    <img src="images/1.jpg">
    <img src="images/2.jpg">
    <img src="images/3.jpg">
    </div>
    <div class="arrow" id="next"> > </div>
    
    <div id="numnextimg"></div>
    תגובות, הצעות, שאלות יתקבלו בברכה.
    נערך לאחרונה על ידי -Smoxer-; 24-11-2012 בשעה 13:13.

    המשתמשים שלי:
    HotBanana > NewYear > Dursci > DurSci > FullSex > CSS
    PHP | SQL | HTML | CSS | JS | JQUERY | AJAX

  2. קישורים ממומנים

  3. #2
    Smoxer in your mind
    משתמש כבוד
    האוואטר של -Smoxer-
    תאריך הצטרפות
    11/2011
    הודעות
    8,881
    לייקים
    1181
    נקודות
    483
    פוסטים בבלוג
    3
    משפט מחץ
    Further gets colder until nothing was all that I saw around
    מין: זכר

    ברירת מחדל

    מדריך מצויין! המשך כך.

  4. #3
    משתמש מתחיל
    שם פרטי
    עדן
    תאריך הצטרפות
    11/2012
    גיל
    24
    הודעות
    54
    לייקים
    2
    נקודות
    0
    משפט מחץ
    מקודד וחותך אתרים בתקן העולמי.
    מין: זכר

    ברירת מחדל

    מדריך מצויין!
    רק היית יכול לעצב את הכפתורים יפים יותר
    מקווה שיעזור להרבה D:


    בברכה עדן ,

    מקודד וחותך אתרים בתקן העולמי במחירים זולים ונוחים לכל כיס.
    סקייפ - ycoded


  5. #4
    משתמש משקיע האוואטר של CSS
    תאריך הצטרפות
    08/2010
    הודעות
    3,206
    לייקים
    176
    נקודות
    1,200
    משפט מחץ
    כי גם מנהלים הם בני אדם..
    מין: זכר

    ברירת מחדל

    ציטוט נכתב במקור על ידי Quartz צפיה בהודעה
    מדריך מצויין!
    רק היית יכול לעצב את הכפתורים יפים יותר
    מקווה שיעזור להרבה D:
    תודה, אבל המדריך זה רק להסביר איך לעשות גלריה בסיסית.
    אפשר לעצב הכל הרבה יותר יפה.

    המשתמשים שלי:
    HotBanana > NewYear > Dursci > DurSci > FullSex > CSS
    PHP | SQL | HTML | CSS | JS | JQUERY | AJAX

+ תגובה לנושא


הרשאות פרסום

  • אין באפשרותך לפרסם נושאים חדשים
  • אין באפשרותך לפרסם תגובות
  • אין באפשרותך לצרף קבצים
  • אין באפשרותך לערוך את הודעותיך


כל הזמנים הם לפי GMT +3. השעה כרגע היא 01:36.
מופעל על ידי vBulletin™ © גרסה 4.1, 2011 vBulletin Solutions, Inc. כל הזכויות שמורות.
פעילות הגולשים
אומנות וגרפיקה
מוזיקה
ספורט
סדרות טלוויזיה
סרטים וקולנוע
קנייה ומכירה
רשתות חברתיות
הבורר 3
פורומי פנאי ובידור
סרטים
סדרות
משחקים
דיבורים
אקטואליה
בעלי חיים
בדיחות והומור
משחקי ספורט
הבורר
מחשבים וטכנולוגיה
תמיכה טכנית
חומרה ומודינג
תוכנות להורדה
סלולארי וגאדג'טים
רקעים למחשב
ציוד הקפי למחשב
אבטחת מידע
תכנות ובניית אתרים
כסף ברשת
אייפון
בריאות ואורח חיים
כושר ופיתוח גוף
דיאטה
צבא וגיוס
יעוץ מיני
מה שבלב
אומנות הפיתוי
יהדות
מיסטיקה ורוחניות
אתאיזם ודתות

נושאים: 2,449,538 | הודעות: 8,150,120 | משתמשים: 315,603 | המשתמש החדש ביותר: upizijoj | עיצוב גרפי: סטודיו עודד בביוף | קידוד: rellect