Javascript אפקט שלג

בשנים הראשונות כשהתחלתי לעבוד באינטרנט לא היו מכשירים טכניים רבים שבהם להרשים את המבקרים.
תופעות DHTML היו הגורם היחיד כדי להעשיר את דפי.

בהקשר זה, קלאסי בשימוש על ידי אלפי אתרים היה שלג בחודשי החורף.

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

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

למה לא ליצור משהו קל כי לא להאט את טעינת הדף אשר אינו שולח להרוות את המשאבים של הדפדפן כמו שאתה לא יכול לעצבן את הקורא?

זה מה שאני פשוט מנסה לעשות.

הסקריפט נבדק על הגרסאות החדשות של הדפדפנים הנפוצים (IE, פיירפוקס, כרום, אופרה, וכו '.) אבל אני לא מבטיח תאימות לאחור עם דפדפנים ישנים 3-4 שנים, ובמקרה הזה זה לא עובד אם הבעיה אינה ה-script אבל אי עדכון זה הזמן לעשות ... :-)

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

האפשרויות הן מתועדת היטב, רק לערוך את המשתנים בחלק העליון של התסריט.

  • מספר נתזים;
  • המהירות שבה הם עוברים;
  • גודל מרבי של הפתיתים;
  • מינימום גודל הפתיתים;
  • תו כלל פתיתים, או לחילופין תמונה;
  • צבע נתזים;
  • אטימות;
 numerofiocchi = 100 ; var tempo = 300 ; //millisecondi dimensionemassimafiocco = 40 ; //px dimensioneminimafiocco = 8 ; //px caratterefiocco = "*" ; /*consigliati * o punto. / * סקריפט שיוצר שלג על דף אינטרנט שנוצר על ידי Matarrelli claudio.matarrelli קלאודיו @ gmail.com (C) 2009 www.matarrelli.com בשימוש זמן רב כל כך חופשי כמו לעזוב * זכויות יוצרים גלויים / / var / התצורה משתנים = numerofiocchi 100: זמן var = 300 / / אלפיות dimensionemassimafiocco = 40 / / dimensioneminimafiocco px = 8 / / caratterefiocco px = "*", / * או * מומלץ הצבע.  "#F00" ; trasparenza = 0.5 ; //inizializzazione altre variabili var indice = 0 ; // funzione che genera un fiocco, cioè un * in un div posizionato assolutamente function fiocco ( idfiocco ) { document . write ( '<div id="neve' + idfiocco + '" style="filter:alpha(opacity=' + trasparenza * 100 + ');-moz-opacity:' + trasparenza + ';-khtml-opacity:' + trasparenza + ';opacity: ' + trasparenza + ';color:' + colorefiocco + ';font-size:' + Math . floor ( Math . random ( ) * ( dimensionemassimafiocco - dimensioneminimafiocco + 1 ) + dimensioneminimafiocco ) + 'px; position:fixed; top:' + Math . floor ( Math . random ( ) * screen . height * 0.7 ) + 'px; left:' + Math . floor ( Math . random ( ) * screen . width - 40 ) + 'px">' + caratterefiocco + '</div>' ) } //genera un numero di fiocchi pari a numerofiocchi impostato function generaFiocchi ( ) { for ( indice = 0 ; indice < numerofiocchi ; indice ++ ) { fiocco ( indice ) } } //sposta i fiocchi in modo random ogni volta che passa il tempo impostato function spostaFiocchi ( ) { for ( indice = 0 ; indice < numerofiocchi ; indice ++ ) { document . getElementById ( 'neve' + indice ) . style . top = Math . floor ( Math . random ( ) * screen . height * 0.7 ) + 'px' ; document . getElementById ( 'neve' + indice ) . style . left = Math . floor ( Math . random ( ) * screen . width - 40 ) + 'px' ; } setTimeout ( "spostaFiocchi()" , tempo ) ; } // avvia la generazione dei fiocchi generaFiocchi ( ) ; //esegue lo spostamento continuato spostaFiocchi ( ) ; לחלופין ניתן שעווה עם תמונה בתג <img * src="http://indirizzo/immagine.jpg"> / colorefiocco = F00 "#" שקיפות = 0.5, / / לאתחל משתנים מדד var = 0; / / הפונקציה היוצרת קשת, כי ב div עם * מיקומו תפקוד בסיסי לחלוטין (idfiocco) (document. לכתוב ("div <id =" שלג "idfiocco + +" "style =" מסנן: אלפא (אטימות "+ = אטימות: "שקיפות + +", KHTML-: אטימות); moz-"שקיפות + +," 100 שקיפות * + "אטימות:" שקיפות + + "; צבע:" + + colorefiocco '; font-size: " + מתמטיקה. הרצפה (Math. אקראית () * (dimensionemassimafiocco - dimensioneminimafiocco + 1) + dimensioneminimafiocco) נק '+; מיקום: קבוע; הדף "+: מתמטיקה. הרצפה (Math. אקראית () * המסך. גובה * 0.7) + "פיקסלים; שמאל" +: מתמטיקה. הרצפה (Math. אקראית () המסך *. רוחב - 40) נק '+ "+ + caratterefiocco"> "</ div>")) \ / יוצרת מספר פתיתי שווה numerofiocchi ) (הפונקציה (עבור (מדד = 0; ראשי <מערכת generaFiocchi numerofiocchi: מדד + +) (קשת (מדד))) / / להעביר את פתיתי באופן אקראי בכל פעם שאתה מעביר את הזמן להגדיר פונקציה spostaFiocchi () (עבור (מדד = 0; ראשי <numerofiocchi: מדד + +) (document. getElementById ("שלג" מדד +). הסגנון. לראש = מתמטיקה. הרצפה (Maths. אקראית () * המסך. גובה * 0.7) נק '+'; המסמך. getElementById ("שלג" מדד +). הסגנון. השמאלית = מתמטיקה. הרצפה (Math. אקראית () * המסך. רוחב - 40) נק '+';) setTimeout ("spostaFiocchi ()", זמן);) / / מתחיל פתיתי שהניבו generaFiocchi () / / להפעיל את המשמרת המשיך spostaFiocchi (); 

כדי להתקין, פשוט להעלות את הסקריפט בשרת שלך כוללים בתחתית הדף לפני </ body>

 <script src="http://indirizzo/neve.js" language="javascript"> </ script> 

2 תגובות ל "אפקט שלג Javascript"

  1. פלביו אומר:

    יש לך התחיל סוף סוף בתכנון?

  2. למעשה אני עושה כבר שנים, כאשר יש לי את הזכות גירויים .. כמו אחר הצהריים בבית עם חום :-)

השאירו תגובה