Webmaster общности: Predpriemach.com | SearchEngines.bg

    JavaScript галерия

    Автор: I_V_O

    Ще направим една простичка JavaScript галерия.

    Направете HTML документ: index.html

    <html>
    
    <head>
    
    <title>JavaScript галерия</title>
    
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    
    <link type="text/css" rel="Stylesheet" href="gallery.css" />
    
    <script type="text/javascript" src="gallery.js"></script>
    
    </head>
    
    <body>
    
    <div id="gallery">
    
    <div id="bigImages"><img src="images/Winter.jpg" alt="" id="bossImage" /></div>
    
    <div id="smallImages">
    
    <img src="images/LeftArrow.gif" onclick="go(-1);" title="<-" style="position: absolute; top: 0px; left: 0px; height: 70px; cursor: pointer;" />
    <img src="images/RightArrow.gif" onclick="go(1);" title="->" style="position: absolute; top: 0px; right: 0px; height: 70px; cursor: pointer;" />
    <img src="images/loading2.gif" alt="" class="smallImage" onclick="changeImage(this);" />
    <img src="images/loading2.gif" alt="" class="smallImage" onclick="changeImage(this);" />
    <img src="images/loading2.gif" alt="" class="smallImage" onclick="changeImage(this);" />
    <img src="images/loading2.gif" alt="" class="smallImage" onclick="changeImage(this);" />
    <img src="images/loading2.gif" alt="" class="smallImage" onclick="changeImage(this);" />
    
    </div>
    
    <div id="pagesInfo">
    
    Брой страници: <span id="pagesNumber">12</span>
    Вие сте на: <span id="cPageNumber">10</span> страница
    
    </div>
    
    </div>
    <script type="text/javascript">
    document.getElementById('pagesNumber').innerHTML = pages+1;//popalvame v poleto broq na stranicite
    var AllDocumentImages = document.getElementsByTagName('img');//selektirame vsichki kartinki v dokumenta
    var galleryImages = new Array();//masiv za kartinkite s klass smallImage
    for(i=0;i<AllDocumentImages.length;i++){
    
    if(AllDocumentImages[i].className == 'smallImage'){
    galleryImages[galleryImages.length] = AllDocumentImages[i];
    }
    
    }//popalvame samo tezi kartinki s klass smallImage
    
    window.onload = function(){
    go(0);
    }//zarejdame pyrvite 5 kartinki sled kato stranicata e zaredena
    </script>
    </body>
    
    </html>

    CSS файл: gallery.css

    div#gallery{width: 700px; border: solid 2px yellow;}
    div#gallery div#bigImages{border-bottom: solid 2px orange;}
    div#gallery div#bigImages img#bossImage{width: 600px; margin-left: 50px;}
    div#gallery div#smallImages{position: relative; text-align: center; border-bottom: solid 2px orange;}
    img.smallImage{width: 90px; height: 70px; cursor: pointer;}
    div#pagesInfo{text-align: center;}
    div#pagesInfo span#pagesNumber{color: red; font: bold 10pt verdana; margin-right: 30px;}
    div#pagesInfo span#cPageNumber{color: red; font: bold 10pt verdana;}

    И JS файл: gallery.js

    var loading = new Image();
    loading.src = 'images/loading2.gif';
    var i;
    //masiv za golemite kartinki
    var bigImages = new Array();
    bigImages[bigImages.length] = 'images/Winter.jpg';
    bigImages[bigImages.length] = 'images/Water lilies.jpg';
    bigImages[bigImages.length] = 'images/Blue hills.jpg';
    bigImages[bigImages.length] = 'images/Sunset.jpg';
    bigImages[bigImages.length] = 'images/azul.jpg';
    
    bigImages[bigImages.length] = 'images/azul.jpg';
    bigImages[bigImages.length] = 'images/Sunset.jpg';
    bigImages[bigImages.length] = 'images/Water lilies.jpg';
    bigImages[bigImages.length] = 'images/Blue hills.jpg';
    bigImages[bigImages.length] = 'images/Winter.jpg';
    
    bigImages[bigImages.length] = 'images/loading2.gif';
    
    //masiv zamalkite kartinki
    var smallImages = new Array();
    smallImages[smallImages.length] = 'images/Winter.jpg';
    smallImages[smallImages.length] = 'images/Water lilies.jpg';
    smallImages[smallImages.length] = 'images/Blue hills.jpg';
    smallImages[smallImages.length] = 'images/Sunset.jpg';
    smallImages[smallImages.length] = 'images/azul.jpg';
    
    smallImages[smallImages.length] = 'images/azul.jpg';
    smallImages[smallImages.length] = 'images/Sunset.jpg';
    smallImages[smallImages.length] = 'images/Water lilies.jpg';
    smallImages[smallImages.length] = 'images/Blue hills.jpg';
    smallImages[smallImages.length] = 'images/Winter.jpg';
    
    smallImages[smallImages.length] = 'images/loading2.gif';
    
    //na vseki element s opredelen indeks ot ediniq masiv syotvetstva element sys syshtiq indeks ot drugiq masiv
    
    var pages = Math.ceil(bigImages.length/5)-1;//broi na stranicite
    var currentPage = 0;//tekushta stranica
    
    function info(){
    document.getElementById('cPageNumber').innerHTML = currentPage+1;
    } //promqna na tekushtata stranica
    
    function go(where){//funkciq za promqna na malkite kartinki
    
    currentPage += where;
    if(currentPage<0) currentPage = 0;
    else if(currentPage>pages) currentPage = pages;
    else{
    
    for(i=0;i<5;i++){
    
    if(smallImages[i+currentPage*5]){//pokazvane na sledvashtite 5 ili po-malko kartinki
    with(galleryImages[i]){
    style.visibility = 'visible';
    src = smallImages[i+currentPage*5];
    alt =bigImages[i+currentPage*5];
    }
    }else{
    
    galleryImages[i].style.visibility = 'hidden';
    //ako broq na kartinkite ne e cheten na 5 praznite praznite kartinki stavat nevidimi
    
    }
    
    }
    
    info();
    }
    
    }
    
    function changeImage(obj){//promqna na golqmata kartinka
    
    document.getElementById('bossImage').src = obj.alt;
    
    }

    Заместете в масивите с ваши картинки. Еднакъв брой и в двата масива. В кода има обяснения.

    Урока е авторски и забранявам преписване!