Advertisement
Guest User

Untitled

a guest
Jan 31st, 2014
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 4.19 KB | None | 0 0
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Slideshow</title>
  6.     <style type="text/css">
  7.         .wrapper {
  8.             width: 640px; /* Dimenzije kontejnera... */
  9.             height: 480px; /* ...moraju da budu eksplicitno zadate da bi funkcionisalo... */
  10.             margin: 1em auto; /* ...ovo centriranje sa auto za horizontalne margine. */
  11.             padding: 0;
  12.             list-style: none; /* Ovo uklanja ružna dugmad oko <ul> liste. */
  13.         }
  14.     </style>
  15.     <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
  16.     <!-- Možeš da koristiš i lokalnu verziju jQuery biblioteke -->
  17.     <script>
  18.         $(document).ready(function(){
  19.             /*
  20.             * Ceo ovaj blok biće izvršen tek nakon što browser učita kompletan kod stranice.
  21.             * Za taj trenutak se obično kaže da je učitan DOM.
  22.             * To je najraniji trenutak kada može da se krene sa manipulacijom stranice a da
  23.             * ne dođe do potencijalnog problema da objekat kojim treba da se manipuliše još
  24.             * uvek ne bude dostupan na stranici.
  25.             */
  26.             // Prvo podesimo par promenjljivih.
  27.             var duration = 5000; // Koliko svaka slika treba da bude prikazana (u milisekundama).
  28.             var transition = 1000; // Koliko treba da traje prelaz animacije između slika (u milisekundama).
  29.  
  30.             var images = $('.wrapper img'); // Sada napravimo listu svih dostupnih slika (objašnjenje u sledećem blok komentaru).
  31.             /*
  32.             * $() je skraćeni oblik za jQuery(), svaki put kad se pozove od sadržaja unutar zagrada (to su obično CSS selektori)
  33.             * se kreira jQuery objekat (preciznije se kaže kolekcija) od objekata koje će vratiti  '.images img' selektor.
  34.             * '.images img' kaže "selektuj sve img tagove (elemente) koji se nalaze unutar elemenata sa klasom .images".
  35.             */
  36.             if(!images.length){ // Proveravamo da li uopšte ima dostupnih slika.
  37.                 /*
  38.                 * Ukoliko nema dostupnih slika 'return false;' se brine o tome da se dalje izvršenje ove funkcije prekine.
  39.                 * Zašto, to je već malo komplikovanija materija koja ovde nije bitna.
  40.                 */
  41.                 return false;
  42.             }
  43.            
  44.             var currImage = 0; // Sadrži redni broj trenutno prikazane slike (zbog jQuery 'eq' funkcije korisno je da brojanje počne od nule).
  45.             images.not(':first').hide(); // Sakrivamo sve slike osim prve ('images' je već kolekcija svih slika)
  46.  
  47.             /*
  48.             * Sada kreiramo nešto što se zove interval. Interval će ponavljati (izvršavati) zadatu funkciju
  49.             * u identičnim vremenskim intervalima (gore definisana promenjljiva 'duration') sve dok interval
  50.             * ne prestane da postoji (recimo obriše se).
  51.             */
  52.             var intervalID = setInterval(function(){
  53.                 /*
  54.                 * Ovo je telo funkcije koje će se izvršavati na svakih 'duration' milisekundi.
  55.                 * Pošto funckija nema naziv ovako napisana se još zove anonimna.
  56.                 * Sledeći blok odrađuje animaciju sakrivanja trenutne i prikazivanja sledeće slike u nizu.
  57.                 */
  58.                 images.eq(currImage).fadeOut(transition, function(){
  59.                     /*
  60.                     * Ukoliko smo sakrili poslednju sliku u nizu (redni broj trenutne slike identičan broju slika - 1)
  61.                     * resetujemo brojač tako da sledeća slika bude prva slika u kolekciji.
  62.                     */
  63.                     if(currImage == images.length - 1){ // images.length - 1 zato što nam numeracija slika počinje od nule!
  64.                         currImage = 0;
  65.                     } else {
  66.                         currImage++; // U suprotnom sledeća slika je sledeća po redu u kolekciji.
  67.                     }
  68.                     images.eq(currImage).fadeIn(transition);
  69.                 })
  70.             }, duration);
  71.  
  72.         });
  73.     </script>
  74. </head>
  75. <body>
  76.     <ul class="wrapper">
  77.         <li><img src="http://economictimes.indiatimes.com/thumb/msid-25252601,width-640,resizemode-4/stunning-images-of-the-space.jpg" alt="" width="640" height="480"></li>
  78.         <li><img src="http://pioneers.io/wp-content/uploads/2013/07/space_post_ccflickr.jpg" alt="" width="640" height="480"></li>
  79.         <li><img src="http://blinkenlichten.org/blog/wp-content/uploads/2011/05/balloon_aerial_space.jpg" alt="" width="640" height="480"></li>
  80.         <li><img src="http://img.brothersoft.com/screenshots/softimage/s/space_exploration_3d_screensaver-34569-1.jpeg" alt="" width="640" height="480"></li>
  81.         <li><img src="https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQzVx0-TG5Wob5EhMWEC0dDEhYPnM7B7pYXNa8qgM2C1jeLpbUE4g" alt="" width="640" height="480"></li>
  82.     </ul>
  83. </body>
  84. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement