Jslider 1.0

La tua slider automatica leggera e professionale.

« Older   Newer »
 
  Share  
.
  1.     Like  
     
    .
    Avatar

    Senior Member

    Group
    AD|Founder
    Posts
    10,558
    Reputation
    +2
    Location
    Dal luogo in cui le Tenebre si fondono con la Luce..

    Status
    Anonymous


    JSlider 1.0


    Jslider è un nuovo slider leggero e professionale con scorrimento automatico dei tabs che non necessita di iframe.

    risorsa

    aoBuU4iAE1HQOSTrvvcS
    (clicca per visualizzare dal vivo)


    Guida all'installazione

    L'installazione della Jslider è molto semplice, per iniziare è sufficiente inserire lo script linkato sotto. N.B. : lo script va inserito nei codici html in fondo al forum DOPO ogni codice precedentemente presente.
    Codice:
    HTML
    <!-- [INIZIO] JSLIDER -->
    <script type="text/Javascript">
    /* ---------------------------*/
    // SCRIPT JSLIDER 1.0
    // SLASH' - HENRY.
    // PIXEL GRAPHIC STUDIO - FFREPORT.Net
    /* ---------------------------*/


    /* NUMERO PANNELLI AUMENTATE/DIMINUITE IN BASE AL NUMERO DEI PANNELLI */
    var last = 5;

    /* NON MODIFICARE */
    var first = 1;
    var current = last;
    function nextTab(){object=document.getElementById("slide"+current);object.checked=false;if(current==last){current=1}else{current++}object=document.getElementById("slide"+current);object.checked=true;timeout=setTimeout("nextTab()",3e3)}var slider=document.getElementById("jslider");var timeout;slider.onmouseover=function(){clearTimeout(timeout)};slider.onmouseout=function(){timeout=setTimeout("nextTab()",3e3)}
    </script>
    <script type="text/Javascript"> nextTab() </script>
    <!-- [FINE] JSLIDER -->


    come potete vedere nei commenti del codice, è necessario modificare il numero di "var last=5" qualora decideste di aumentare/diminuire il numero dei pannelli (il 5 sta per il numero dei pannelli della slider);il resto non modificatelo.



    Codice Css
    Andiamo adesso a vedere l'installazione della parte CSS della Jslider, ovviamente questa parte andrà inserita in "Colori e Stili".

    CODICE
    /*CREDITI !!!NON RIMUOVERE!!! */
    .jcredits a {color: #000; font-size: 9px !important; font-family: arial !important}
    .jcredits {width: 800px; text-align:right; font-size: 9px !important; font-family: arial !important}

    /*FINE CREDITI*/


    /* --- JSLIDER BY SLASH' E .HENRY --- */
    #jslider input {display: none}

    #slide1:checked ~ #slides .content {margin-left: 0}
    #slide2:checked ~ #slides .content {margin-left: -100%}
    #slide3:checked ~ #slides .content {margin-left: -200%}
    #slide4:checked ~ #slides .content {margin-left: -300%}
    #slide5:checked ~ #slides .content {margin-left: -400%}

    /* NUMERO PANNELLI X 100= .content {width: ---%} */
    #slides .content {width: 500%}
    /* .content {width: ---%}: NUMERO PANNELLI= .article {width: ---%} */
    #slides .article {width: 20%; float: left}

    /* GIOCA SU QUESTI PER ALLINEARE I CONTROLLI */
    #active {margin: 8% 0 0; text-align: center}
    #controls {margin: -11% 0 0 0; width: 100%; height: 50px}


    /* BASE */
    #slider {text-align: center}
    strong {font-weight: bold}
    #overflow {width: 100%; overflow: hidden}
    .article img {width: 100%}

    #slider label, #slider a {color: teal; cursor: pointer; text-decoration: none}
    #slider label:hover, #slider a:hover {color: #000 !important}
    #slider * {-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box}
    #jslider label, #active, #jslider img {-moz-user-select:none; -webkit-user-select:none}
    .catch {display: block; height: 0; overflow: hidden}
    #slider {margin: 0 auto}
    #description {margin: 25px auto; text-align: left; max-width: 650px; padding: 0 25px}
    .respond {margin: 0 auto; max-width: 370px}

    /* STILI - CONROLLI */
    #controls label {display: none; width: 100px; height: 50px; opacity: 0.3}
    #active label {border-radius: 10px; display: inline-block; width: 15px; height: 15px; background: #EBEBEB; border: 2px solid #FFF; box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); margin-right: 5px}
    #active label:hover {background: #CCC}
    #controls label:hover {opacity: 0.8}

    /*FRECCIA DX #DA AGGIUNGERE IN BASE AL NUMERO DI PANNELLI CHE ANDRETE A METTERE PER SPOSTARE LA FRECCIA MODIFICATE IL MARGIN*/
    #slide1:checked ~ #controls label:nth-child(2),
    #slide2:checked ~ #controls label:nth-child(3),
    #slide3:checked ~ #controls label:nth-child(4),
    #slide4:checked ~ #controls label:nth-child(5),
    #slide5:checked ~ #controls label:nth-child(1) {background: url('http://img1.firenex.net/QcSNehPaDf81oqVZmmV8.png') no-repeat; float: right; margin: 0 -10px 0 0; display: block; height: 65px; width: 43px; background-position:center}

    /*FRECCIA SX #DA AGGIUNGERE IN BASE AL NUMERO DI PANNELLI CHE ANDRETE A METTERE PER SPOSTARE LA FRECCIA MODIFICATE IL MARGIN*/
    #slide1:checked ~ #controls label:nth-child(5),
    #slide2:checked ~ #controls label:nth-child(1),
    #slide3:checked ~ #controls label:nth-child(2),
    #slide4:checked ~ #controls label:nth-child(3),
    #slide5:checked ~ #controls label:nth-child(4) {background: url('http://img1.firenex.net/CiaNbi8TDR8GQsPZMUiL.png') no-repeat; float: left; margin: 0 0 0 -10px; display: block; height: 65px; width: 43px; background-position:center; text-align:right}

    /*PALLINI IL BACKGROUND è IL COLORE DEL PALLINO ATTIVO, AGGIUNGETE UNA RIGA SE AGGIUNGETE I PANNELLI, TOGLIETE UNA RIGA SE DIMINUITE I PANNELLI E RICORDATE DI MODIFICARE IL NUMERO DI #SLIDE E NTH-CHILD*/
    #slide1:checked ~ #active label:nth-child(1),
    #slide2:checked ~ #active label:nth-child(2),
    #slide3:checked ~ #active label:nth-child(3),
    #slide4:checked ~ #active label:nth-child(4),
    #slide5:checked ~ #active label:nth-child(5) {background: #7D7D7D}


    /* STILI - SLIDER */
    #slides {border-radius: 5px; box-shadow:inset 0 0 5px rgba(0, 0, 0, 0.3); padding: 1%; background: #EBEBEB; width: 800px; align:center}


    /* ANIMAZIONE */
    #slides .content {-webkit-transform: translatez(0); -webkit-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); -moz-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); -ms-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); -o-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); -webkit-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); -moz-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); -ms-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); -o-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000)}
    #controls label {-webkit-transform: translatez(0); -webkit-transition: opacity 0.2s ease-out; -moz-transition: opacity 0.2s ease-out; -o-transition: opacity 0.2s ease-out; transition: opacity 0.2s ease-out; width: 5px; height: 5px; margin-right: 5px}
    #slide1:checked ~ #slides article:nth-child(1) .info,
    #slide2:checked ~ #slides article:nth-child(2) .info,
    #slide3:checked ~ #slides article:nth-child(3) .info,
    #slide4:checked ~ #slides article:nth-child(4) .info,
    #slide5:checked ~ #slides article:nth-child(5) .info {opacity: 1; -webkit-transition: all 1s ease-out 0.6s; -moz-transition: all 1s ease-out 0.6s; -o-transition: all 1s ease-out 0.6s; transition: all 1s ease-out 0.6s}
    .info, #controls, #slides, #slider, #active, #active label, .info h3 {-webkit-transform: translatez(0); -webkit-transition: all 0.5s ease-out; -moz-transition: all 0.5s ease-out; -o-transition: all 0.5s ease-out; transition: all 0.5s ease-out}

    /* --- FINE --- */


    Per la modifica seguite i commenti del codice, aggiungete o togliete gli elementi solo come specificato nel codice css, eventuali modifiche errate porterebbero al non funzionamento della slider, quindi attenzione.

    Codice html
    Andiamo in fine a vedere come installare l'html della slider nel nostro forum. Questo codice va ovviamente posto in codici HTML , dove volete che la slider venga visualizzata, è necessario però che sia sempre sopra allo script che abbiamo installato pocanzi.
    HTML
    <!-- [INIZIO] JSLIDER -->
    <div class="jslider" id="jslider">

    <!-- SETUP -->
    <input checked type="radio" name="slider" id="slide1" > </input>
    <input type="radio" name="slider" id="slide2" > </input>
    <input type="radio" name="slider" id="slide3" > </input>
    <input type="radio" name="slider" id="slide4" > </input>
    <input type="radio" name="slider" id="slide5" > </input>


    <!-- SLIDER -->

    <div id="slides">
    <div id="overflow">
    <div class="content">

    <div class="article">
    <!-- INSERIRE CONTENUTO PANNELLO1 --!>

    <a href="/">Lorem Ipsum</a> è un testo segnaposto utilizzato nel settore della tipografia e della stampa. Lorem Ipsum è considerato il testo segnaposto standard sin dal sedicesimo secolo, quando un anonimo tipografo prese una cassetta di caratteri e li assemblò per preparare un testo campione. È sopravvissuto non solo a più di cinque secoli, ma anche al passaggio alla videoimpaginazione, pervenendoci sostanzialmente inalterato. Fu reso popolare, negli anni ’60, con la diffusione dei fogli di caratteri trasferibili “Letraset”, che contenevano passaggi del Lorem Ipsum, e più recentemente da software di impaginazione come Aldus PageMaker, che includeva versioni del Lorem Ipsum.


    <!-- FINE PANNELLO 1 --!>
    </div>

    <div class="article">
    <!-- INSERIRE CONTENUTO PANNELLO2 --!>

    Lorem Ipsum è un testo segnaposto utilizzato nel settore della tipografia e della stampa. Lorem Ipsum è considerato il testo segnaposto standard sin dal sedicesimo secolo, quando un anonimo tipografo prese una cassetta di caratteri e li assemblò per preparare un testo campione. È sopravvissuto non solo a più di cinque secoli, ma anche al passaggio alla videoimpaginazione, pervenendoci sostanzialmente inalterato. Fu reso popolare, negli anni ’60, con la diffusione dei fogli di caratteri trasferibili “Letraset”, che contenevano passaggi del Lorem Ipsum, e più recentemente da software di impaginazione come Aldus PageMaker, che includeva versioni del Lorem Ipsum.


    <!-- FINE PANNELLO 2 --!>
    </div>

    <div class="article">
    <!-- INSERIRE CONTENUTO PANNELLO3 --!>

    Lorem Ipsum è un testo segnaposto utilizzato nel settore della tipografia e della stampa. Lorem Ipsum è considerato il testo segnaposto standard sin dal sedicesimo secolo, quando un anonimo tipografo prese una cassetta di caratteri e li assemblò per preparare un testo campione. È sopravvissuto non solo a più di cinque secoli, ma anche al passaggio alla videoimpaginazione, pervenendoci sostanzialmente inalterato. Fu reso popolare, negli anni ’60, con la diffusione dei fogli di caratteri trasferibili “Letraset”, che contenevano passaggi del Lorem Ipsum, e più recentemente da software di impaginazione come Aldus PageMaker, che includeva versioni del Lorem Ipsum.


    <!-- FINE PANNELLO 3 --!>
    </div>

    <div class="article">
    <!-- INSERIRE CONTENUTO PANNELLO4 --!>

    Lorem Ipsum è un testo segnaposto utilizzato nel settore della tipografia e della stampa. Lorem Ipsum è considerato il testo segnaposto standard sin dal sedicesimo secolo, quando un anonimo tipografo prese una cassetta di caratteri e li assemblò per preparare un testo campione. È sopravvissuto non solo a più di cinque secoli, ma anche al passaggio alla videoimpaginazione, pervenendoci sostanzialmente inalterato. Fu reso popolare, negli anni ’60, con la diffusione dei fogli di caratteri trasferibili “Letraset”, che contenevano passaggi del Lorem Ipsum, e più recentemente da software di impaginazione come Aldus PageMaker, che includeva versioni del Lorem Ipsum.


    <!-- FINE PANNELLO 4 --!>
    </div>

    <div class="article">
    <!-- INSERIRE CONTENUTO PANNELLO5 --!>

    Lorem Ipsum è un testo segnaposto utilizzato nel settore della tipografia e della stampa. Lorem Ipsum è considerato il testo segnaposto standard sin dal sedicesimo secolo, quando un anonimo tipografo prese una cassetta di caratteri e li assemblò per preparare un testo campione. È sopravvissuto non solo a più di cinque secoli, ma anche al passaggio alla videoimpaginazione, pervenendoci sostanzialmente inalterato. Fu reso popolare, negli anni ’60, con la diffusione dei fogli di caratteri trasferibili “Letraset”, che contenevano passaggi del Lorem Ipsum, e più recentemente da software di impaginazione come Aldus PageMaker, che includeva versioni del Lorem Ipsum.


    <!-- FINE PANNELLO 5 --!>
    </div>

    </div> <!-- .content -->


    </div> <!-- #overflow -->

    </div> <!-- #slides -->

    <!-- CREDITI --!>
    <div class="jcredits">
    <a href="http://ffreport.forumcommunity.net/?t=52622702">Jslider 1.0</a>, realizzata da <a href="http://ffreport.forumcommunity.net/">FFreport</a>
    </div>

    <!-- FINE --!>


    <!-- Controls and Active Slide Display -->


    <div id="controls">
    <label for="slide1"></label>
    <label for="slide2"></label>
    <label for="slide3"></label>
    <label for="slide4"></label>
    <label for="slide5"></label>

    </div>
    <!-- #controls -->

    <div id="active">
    <label for="slide1"></label>
    <label for="slide2"></label>
    <label for="slide3"></label>
    <label for="slide4"></label>
    <label for="slide5"></label>
    </div> <!-- #active -->

    </div> <!-- #jslider -->


    Nella personalizzazione dell'HTML potete ottenere 3 diverse versioni della Jslider, la prima, senza modificare l'html è quella mostrata in preview, la seconda, eliminando questa parte

    HTML
    <div id="active">
    <label for="slide1"></label>
    <label for="slide2"></label>
    <label for="slide3"></label>
    <label for="slide4"></label>
    <label for="slide5"></label>
    </div> <!-- #active -->


    otterrete la Jslider senza i pallini che segnalano il pannello corrente; mentre, nell'ultimo dei casi eliminando questa parte

    HTML
    <div id="controls">
    <label for="slide1"></label>
    <label for="slide2"></label>
    <label for="slide3"></label>
    <label for="slide4"></label>
    <label for="slide5"></label>

    </div>
    <!-- #controls -->


    otterrete la Jslider senza le frecce per cambiare pannello e quindi solo con i pallini.


    Codice ideato da Slash' e .Henry per FFReport.Net


     
    .
  2.     Like  
     
    .
    Avatar

    鏡花水月

    Group
    AD|Dreamer
    Posts
    11,786
    Reputation
    0

    Status
    Anonymous
    Ho provato a mettere 6 pannelli, ho aggiustato il width degli .article, ho aumentato var last a 6, aumentato il conten width a 600% eppure si ferma sempre a 5 pannelli :\
     
    .
  3.     Like  
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    3,370
    Reputation
    0
    Location
    Dietro di te!

    Status
    Offline
    CITAZIONE (Hitømi @ 12/9/2014, 19:06) 
    Ho provato a mettere 6 pannelli, ho aggiustato il width degli .article, ho aumentato var last a 6, aumentato il conten width a 600% eppure si ferma sempre a 5 pannelli :\

    Incolla il codice altrimenti è difficile aiutarti!

    Domanda:
    Hai guardato nella console javascript se ti da qualche errore?

    EDIT:

    Va siccome non avevo nulla da fare ho smanettato un po con il codice.

    CODICE
    <style>
    /*CREDITI !!!NON RIMUOVERE!!! */
    .jcredits a {color: #000; font-size: 9px !important; font-family: arial !important}
    .jcredits {width: 800px; text-align:right; font-size: 9px !important; font-family: arial !important}

    /*FINE CREDITI*/


    /* --- JSLIDER BY SLASH' E .HENRY --- */
    #jslider input {display: none}

    #slide1:checked ~ #slides .content {margin-left: 0}
    #slide2:checked ~ #slides .content {margin-left: -100%}
    #slide3:checked ~ #slides .content {margin-left: -200%}
    #slide4:checked ~ #slides .content {margin-left: -300%}
    #slide5:checked ~ #slides .content {margin-left: -400%}
    #slide6:checked ~ #slides .content {margin-left: -500%}

    /* NUMERO PANNELLI X 100 = .content {width: ---%} */
    #slides .content {width: 600%}
    /* .content {width: ---%}: NUMERO PANNELLI= .article {width: ---%} */
    #slides .article {width: 16%; float: left; margin: 15px;}

    /* GIOCA SU QUESTI PER ALLINEARE I CONTROLLI */
    #active {margin: 8% 0 0; text-align: center}
    #controls {margin: -11% 0 0 0; width: 100%; height: 50px}


    /* BASE */
    #slider {text-align: center}
    strong {font-weight: bold}
    #overflow {width: 100%; overflow: hidden}
    .article img {width: 100%}

    #slider label, #slider a {color: teal; cursor: pointer; text-decoration: none}
    #slider label:hover, #slider a:hover {color: #000 !important}
    #slider * {-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box}
    #jslider label, #active, #jslider img {-moz-user-select:none; -webkit-user-select:none}
    .catch {display: block; height: 0; overflow: hidden}
    #slider {margin: 0 auto}
    #description {margin: 25px auto; text-align: left; max-width: 650px; padding: 0 25px}
    .respond {margin: 0 auto; max-width: 370px}

    /* STILI - CONROLLI */
    #controls label {display: none; width: 100px; height: 50px; opacity: 0.3}
    #active label {border-radius: 10px; display: inline-block; width: 15px; height: 15px; background: #EBEBEB; border: 2px solid #FFF; box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); margin-right: 5px}
    #active label:hover {background: #CCC}
    #controls label:hover {opacity: 0.8}

    /*FRECCIA DX #DA AGGIUNGERE IN BASE AL NUMERO DI PANNELLI CHE ANDRETE A METTERE PER SPOSTARE LA FRECCIA MODIFICATE IL MARGIN*/
    #slide1:checked ~ #controls label:nth-child(2),
    #slide2:checked ~ #controls label:nth-child(3),
    #slide3:checked ~ #controls label:nth-child(4),
    #slide4:checked ~ #controls label:nth-child(5),
    #slide5:checked ~ #controls label:nth-child(6),
    #slide6:checked ~ #controls label:nth-child(1) {background: url('http://img1.firenex.net/QcSNehPaDf81oqVZmmV8.png') no-repeat; float: right; margin: 0 -10px 0 0; display: block; height: 65px; width: 43px; background-position:center}

    /*FRECCIA SX #DA AGGIUNGERE IN BASE AL NUMERO DI PANNELLI CHE ANDRETE A METTERE PER SPOSTARE LA FRECCIA MODIFICATE IL MARGIN*/
    #slide1:checked ~ #controls label:nth-child(6),
    #slide2:checked ~ #controls label:nth-child(1),
    #slide3:checked ~ #controls label:nth-child(2),
    #slide4:checked ~ #controls label:nth-child(3),
    #slide5:checked ~ #controls label:nth-child(4),
    #slide6:checked ~ #controls label:nth-child(5) {background: url('http://img1.firenex.net/CiaNbi8TDR8GQsPZMUiL.png') no-repeat; float: left; margin: 0 0 0 -10px; display: block; height: 65px; width: 43px; background-position:center; text-align:right}

    /*PALLINI IL BACKGROUND è IL COLORE DEL PALLINO ATTIVO, AGGIUNGETE UNA RIGA SE AGGIUNGETE I PANNELLI, TOGLIETE UNA RIGA SE DIMINUITE I PANNELLI E RICORDATE DI MODIFICARE IL NUMERO DI #SLIDE E NTH-CHILD*/
    #slide1:checked ~ #active label:nth-child(1),
    #slide2:checked ~ #active label:nth-child(2),
    #slide3:checked ~ #active label:nth-child(3),
    #slide4:checked ~ #active label:nth-child(4),
    #slide5:checked ~ #active label:nth-child(5),
    #slide6:checked ~ #active label:nth-child(6) {background: #7D7D7D}


    /* STILI - SLIDER */
    #slides {border-radius: 5px; box-shadow:inset 0 0 5px rgba(0, 0, 0, 0.3); padding: 1%; background: #EBEBEB; width: 800px; align:center}


    /* ANIMAZIONE */
    #slides .content {-webkit-transform: translatez(0); -webkit-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); -moz-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); -ms-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); -o-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); -webkit-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); -moz-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); -ms-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); -o-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000)}
    #controls label {-webkit-transform: translatez(0); -webkit-transition: opacity 0.2s ease-out; -moz-transition: opacity 0.2s ease-out; -o-transition: opacity 0.2s ease-out; transition: opacity 0.2s ease-out; width: 5px; height: 5px; margin-right: 5px}
    #slide1:checked ~ #slides article:nth-child(1) .info,
    #slide2:checked ~ #slides article:nth-child(2) .info,
    #slide3:checked ~ #slides article:nth-child(3) .info,
    #slide4:checked ~ #slides article:nth-child(4) .info,
    #slide5:checked ~ #slides article:nth-child(5) .info,
    #slide6:checked ~ #slides article:nth-child(6) .info {opacity: 1; -webkit-transition: all 1s ease-out 0.6s; -moz-transition: all 1s ease-out 0.6s; -o-transition: all 1s ease-out 0.6s; transition: all 1s ease-out 0.6s}
    .info, #controls, #slides, #slider, #active, #active label, .info h3 {-webkit-transform: translatez(0); -webkit-transition: all 0.5s ease-out; -moz-transition: all 0.5s ease-out; -o-transition: all 0.5s ease-out; transition: all 0.5s ease-out}

    /* --- FINE --- */
    </style>


    Se incolli questo style e aggiungi nell'HTML i pezzi aggiuntivi diventano 6 slider.
    Non è così facile da modificare come detto fra i commenti...

    Edited by Xenomis - 15/10/2014, 22:02
     
    .
  4.     Like  
     
    .
    Avatar


    Group
    Member
    Posts
    2,395
    Reputation
    0
    Location
    Greed Island

    Status
    Offline
    Scusate se riapro la discussione,volevo sapere se c'è un modo per far scorrere le immagini automaticamente.....Ho inserito i vostri codici ma vorrei che si muovessero in automatico
     
    .
  5.     Like  
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    3,370
    Reputation
    0
    Location
    Dietro di te!

    Status
    Offline
    Nessun problema. Sinceramente lo trovo poco utile modificare questo plugin per farlo andare in automatico.

    A mio avviso sarebbe meglio usarne uno nuovo che magari possiede già queste caratteristiche.

    Quello che ho trovato poco fa su internet è un po più complicato da usare tuttavia ha molte opzioni, puoi aggiungere senza smanettare con il codice js nuove slide, scorrono automaticamente, sono responsive e teoricamente funzionano anche con comandi touch.

    Ecco qui:

    Questo lo copi incolli in un file chiamato unslider.js:

    CODICE
    /**
    *   Unslider by @idiot
    */

    (function($, f) {
           //  If there's no jQuery, Unslider can't work, so kill the operation.
           if(!$) return f;
           
           var Unslider = function() {
                   //  Set up our elements
                   this.el = f;
                   this.items = f;
                   
                   //  Dimensions
                   this.sizes = [];
                   this.max = [0,0];
                   
                   //  Current inded
                   this.current = 0;
                   
                   //  Start/stop timer
                   this.interval = f;
                                   
                   //  Set some options
                   this.opts = {
                           speed: 500,
                           delay: 3000, // f for no autoplay
                           complete: f, // when a slide's finished
                           keys: !f, // keyboard shortcuts - disable if it breaks things
                           dots: f, // display ••••o• pagination
                           fluid: f // is it a percentage width?,
                   };
                   
                   //  Create a deep clone for methods where context changes
                   var _ = this;

                   this.init = function(el, opts) {
                           this.el = el;
                           this.ul = el.children('ul');
                           this.max = [el.outerWidth(), el.outerHeight()];                        
                           this.items = this.ul.children('li').each(this.calculate);
                           
                           //  Check whether we're passing any options in to Unslider
                           this.opts = $.extend(this.opts, opts);
                           
                           //  Set up the Unslider
                           this.setup();
                           
                           return this;
                   };
                   
                   //  Get the width for an element
                   //  Pass a jQuery element as the context with .call(), and the index as a parameter: Unslider.calculate.call($('li:first'), 0)
                   this.calculate = function(index) {
                           var me = $(this),
                                   width = me.outerWidth(), height = me.outerHeight();
                           
                           //  Add it to the sizes list
                           _.sizes[index] = [width, height];
                           
                           //  Set the max values
                           if(width > _.max[0]) _.max[0] = width;
                           if(height > _.max[1]) _.max[1] = height;
                   };
                   
                   //  Work out what methods need calling
                   this.setup = function() {
                           //  Set the main element
                           this.el.css({
                                   overflow: 'hidden',
                                   width: _.max[0],
                                   height: this.items.first().outerHeight()
                           });
                           
                           //  Set the relative widths
                           this.ul.css({width: (this.items.length * 100) + '%', position: 'relative'});
                           this.items.css('width', (100 / this.items.length) + '%');
                           
                           if(this.opts.delay !== f) {
                                   this.start();
                                   this.el.hover(this.stop, this.start);
                           }
                           
                           //  Custom keyboard support
                           this.opts.keys && $(document).keydown(this.keys);
                           
                           //  Dot pagination
                           this.opts.dots && this.dots();
                           
                           //  Little patch for fluid-width sliders. Screw those guys.
                           if(this.opts.fluid) {
                                   var resize = function() {
                                           _.el.css('width', Math.min(Math.round((_.el.outerWidth() / _.el.parent().outerWidth()) * 100), 100) + '%');
                                   };
                                   
                                   resize();
                                   $(window).resize(resize);
                           }
                           
                           if(this.opts.arrows) {
                                   this.el.parent().append('<p class="arrows"><span class="prev">â†</span><span class="next">→</span></p>')
                                           .find('.arrows span').click(function() {
                                                   $.isFunction(_[this.className]) && _[this.className]();
                                           });
                           };
                           
                           //  Swipe support
                           if($.event.swipe) {
                                   this.el.on('swipeleft', _.prev).on('swiperight', _.next);
                           }
                   };
                   
                   //  Move Unslider to a slide index
                   this.move = function(index, cb) {
                           //  If it's out of bounds, go to the first slide
                           if(!this.items.eq(index).length) index = 0;
                           if(index < 0) index = (this.items.length - 1);
                           
                           var target = this.items.eq(index);
                           var obj = {height: target.outerHeight()};
                           var speed = cb ? 5 : this.opts.speed;
                           
                           if(!this.ul.is(':animated')) {                        
                                   //  Handle those pesky dots
                                   _.el.find('.dot:eq(' + index + ')').addClass('active').siblings().removeClass('active');

                                   this.el.animate(obj, speed) && this.ul.animate($.extend({left: '-' + index + '00%'}, obj), speed, function(data) {
                                           _.current = index;
                                           $.isFunction(_.opts.complete) && !cb && _.opts.complete(_.el);
                                   });
                           }
                   };
                   
                   //  Autoplay functionality
                   this.start = function() {
                           _.interval = setInterval(function() {
                                   _.move(_.current + 1);
                           }, _.opts.delay);
                   };
                   
                   //  Stop autoplay
                   this.stop = function() {
                           _.interval = clearInterval(_.interval);
                           return _;
                   };
                   
                   //  Keypresses
                   this.keys = function(e) {
                           var key = e.which;
                           var map = {
                                   //  Prev/next
                                   37: _.prev,
                                   39: _.next,
                                   
                                   //  Esc
                                   27: _.stop
                           };
                           
                           if($.isFunction(map[key])) {
                                   map[key]();
                           }
                   };
                   
                   //  Arrow navigation
                   this.next = function() { return _.stop().move(_.current + 1) };
                   this.prev = function() { return _.stop().move(_.current - 1) };
                   
                   this.dots = function() {
                           //  Create the HTML
                           var html = '<ol class="dots">';
                                   $.each(this.items, function(index) { html += '<li class="dot' + (index < 1 ? ' active' : '') + '">' + (index + 1) + '</li>'; });
                                   html += '</ol>';
                           
                           //  Add it to the Unslider
                           this.el.addClass('has-dots').append(html).find('.dot').click(function() {
                                   _.move($(this).index());
                           });
                   };
           };
           
           //  Create a jQuery plugin
           $.fn.unslider = function(o) {
                   var len = this.length;
                   
                   //  Enable multiple-slider support
                   return this.each(function(index) {
                           //  Cache a copy of $(this), so it
                           var me = $(this);
                           var instance = (new Unslider).init(me, o);
                           
                           //  Invoke an Unslider instance
                           me.data('unslider' + (len > 1 ? '-' + (index + 1) : ''), instance);
                   });
           };
    })(window.jQuery, false);


    Questo lo copi incolli in un file css.

    CODICE
    * {
           margin: 0;
           padding: 0;

           -webkit-font-smoothing: antialiased;

           -webkit-box-sizing: border-box;
           -moz-box-sizing: border-box;
           box-sizing: border-box;
    }

    ::selection {
           background: #bfa57c;
           color: #fff;
    }

    body {
           color: #a48d66;
           font: 14px/23px proxima-nova-alt, "Proxima Nova Alt", sans-serif;
    }

    h1, h2, h3, h4, b {
           font-weight: 300;
           font-family: bree-web, Bree, sans-serif;
    }
           h2 {
                   font-size: 28px;
                   padding-bottom: 60px;
           }
           b {
                   font-weight: 500;
                   font-size: 16px;

                   color: #c3522f;
           }

    #logo {
           position: absolute;
           left: 80px;
           top: 40px;
           z-index: 2;

           margin-left: -17px;
    }

    .banner {
           position: relative;
           width: 100%;
           overflow: auto;

           font-size: 18px;
           line-height: 24px;
           text-align: center;

           color: rgba(255,255,255,.6);
           text-shadow: 0 0 1px rgba(0,0,0,.05), 0 1px 2px rgba(0,0,0,.3);

           background: #5b4d3d;
           box-shadow: 0 1px 2px rgba(0,0,0,.25);
    }
           .banner ul {
                   list-style: none;
                   width: 300%;
           }
           .banner ul li {
                   display: block;
                   float: left;
                   width: 33%;
                   min-height: 350px;

                   -o-background-size: 100% 100%;
                   -ms-background-size: 100% 100%;
                   -moz-background-size: 100% 100%;
                   -webkit-background-size: 100% 100%;
                   background-size: 100% 100%;

                   box-shadow: inset 0 -3px 6px rgba(0,0,0,.1);
           }

           .banner .inner {
                   padding: 160px 0 110px;
           }

           .banner h1, .banner h2 {
                   font-size: 40px;
                   line-height: 52px;

                   color: #fff;
           }

           .banner .btn {
                   display: inline-block;
                   margin: 25px 0 0;
                   padding: 9px 22px 7px;
                   clear: both;

                   color: #fff;
                   font-size: 12px;
                   font-weight: bold;
                   text-transform: uppercase;
                   text-decoration: none;

                   border: 2px solid rgba(255,255,255,.4);
                   border-radius: 5px;
           }
                   .banner .btn:hover {
                           background: rgba(255,255,255,.05);
                   }
                   .banner .btn:active {
                           -webkit-filter: drop-shadow(0 -1px 2px rgba(0,0,0,.5));
                           -moz-filter: drop-shadow(0 -1px 2px rgba(0,0,0,.5));
                           -ms-filter: drop-shadow(0 -1px 2px rgba(0,0,0,.5));
                           -o-filter: drop-shadow(0 -1px 2px rgba(0,0,0,.5));
                           filter: drop-shadow(0 -1px 2px rgba(0,0,0,.5));
                   }

           .banner .btn, .banner .dot {
                   -webkit-filter: drop-shadow(0 1px 2px rgba(0,0,0,.3));
                   -moz-filter: drop-shadow(0 1px 2px rgba(0,0,0,.3));
                   -ms-filter: drop-shadow(0 1px 2px rgba(0,0,0,.3));
                   -o-filter: drop-shadow(0 1px 2px rgba(0,0,0,.3));
                   filter: drop-shadow(0 1px 2px rgba(0,0,0,.3));
           }

           .banner .dots {
                   position: absolute;
                   left: 0;
                   right: 0;
                   bottom: 20px;
                   width: 100%;
           }
                   .banner .dots li {
                           display: inline-block;
                           *display: inline;
                           zoom: 1;

                           width: 10px;
                           height: 10px;
                           line-height: 10px;
                           margin: 0 4px;

                           text-indent: -999em;
                           *text-indent: 0;

                           border: 2px solid #fff;
                           border-radius: 6px;

                           cursor: pointer;
                           opacity: .4;

                           -webkit-transition: background .5s, opacity .5s;
                           -moz-transition: background .5s, opacity .5s;
                           transition: background .5s, opacity .5s;
                   }
                           .banner .dots li.active {
                                   background: #fff;
                                   opacity: 1;
                           }

           .banner .arrows {
                   position: absolute;
                   bottom: 20px;
                   right: 20px;
                   color: #fff;
           }
                   .banner .arrow {
                           display: inline;
                           padding-left: 10px;
                           cursor: pointer;
                   }

    .features {
           overflow: hidden;
           padding: 50px 0;

           background: #f7f7f6;
           box-shadow: inset 0 -1px 3px rgba(0,0,0,.03);
    }
           .features li {
                   position: relative;
                   padding: 0 25px 0 40px;
                   list-style: none;

                   width: 25%;
                   float: left;
           }
                   .features li:before {
                           content: '';
                           position: absolute;
                           left: 0;
                           top: 0;

                           display: block;
                           width: 24px;
                           height: 22px;

                           background: url('img/icons.png');
                   }
                           .features li.browser:before { background-position: 0 -44px; }
                           .features li.height:before { background-position: 0 -22px; }
                           .features li.responsive:before { background-position: 0 -66px; }
           .features b {
                   display: block;
                   padding-bottom: 6px;
           }

    .how {
           padding: 60px 0;
    }
           .how h2 {
                   color: #7c6853;
           }
           .how h3 {
                   padding-bottom: 8px;

                   color: #7b6b53;
                   font-size: 20px;
                   line-height: 10px;
           }
           .how li {
                   position: relative;
                   width: 375px;
                   margin: 0 0 40px 15px;
                   padding-left: 10px;
           }
           .how pre {
                   position: absolute;
                   left: 450px;
                   top: 0;

                   width: 495px;
                   padding: 20px 25px;

                   background: #f8f5f0;
                   color: #8a785d;

                   font-size: 12px;
                   line-height: 18px;

                   border-radius: 5px;
                   box-shadow: inset 0 2px 2px rgba(180,157,125,.15), inset 0 0 1px rgba(0,0,0,.2);
           }
           .how p {
                   padding-bottom: 15px;
           }

    .options {
           padding: 60px 0;

           background: #39342d;
           color: #7b7368;

           box-shadow: inset 0 2px 3px rgba(0,0,0,.2);
           text-shadow: 0 1px 1px rgba(0,0,0,.2);
    }
           .options a {
                   opacity: .7;
                   color: #fff;
                   border-bottom: 1px solid rgba(255,255,255,.2);
                   text-decoration: none;
           }
                   .options a:hover {
                           opacity: 1;
                           border-bottom-color: rgba(255,255,255,.3);
                   }
           .options p {
                   font-size: 16px;
                   line-height: 25px;

                   padding-bottom: 20px;
           }
           .options h2 {
                   color: #fff;
                   padding-bottom: 15px;
           }
           .options pre {
                   padding: 20px 25px;

                   background: #342f29;
                   color: #988f81;

                   font-size: 13px;
                   line-height: 19px;

                   box-shadow: inset 0 2px 2px rgba(0,0,0,.15), inset 0 0 1px rgba(0,0,0,.1);
                   border-radius: 5px;
           }
                   .options pre span {
                           color: #706657;
                   }

    .footer {
           padding: 80px 0 60px;
           text-align: center;
    }
           .footer .btn {
                   display: inline-block;
                   padding: 13px 24px 10px;
                   margin-bottom: 15px;

                   background-color: #c4652d;
                   background-image: -webkit-gradient(linear, left top, left bottom, from(#d07936), to(#b95124));
                   background-image: -webkit-linear-gradient(top, #d07936, #b95124);
                   background-image: -moz-linear-gradient(top, #d07936, #b95124);
                   background-image: -o-linear-gradient(top, #d07936, #b95124);
                   background-image: -ms-linear-gradient(top, #d07936, #b95124);
                   background-image: linear-gradient(top, #d07936, #b95124);
                   filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#d07936', EndColorStr='#b95124');

                   border-radius: 5px;
                   box-shadow: inset 0 0 0 1px rgba(0,0,0,.2), inset 0 -1px 2px rgba(0,0,0,.15), inset 0 2px 0 rgba(255,255,255,.2), 0 1px 1px rgba(0,0,0,.1);

                   color: #fff;
                   text-shadow: 0 1px 2px rgba(0,0,0,.2);

                   font-size: 12px;
                   line-height: 18px;
                   font-weight: bold;
                   text-transform: uppercase;

                   border: none;
           }
               .footer .btn span {
                   font-weight: normal;
                   opacity: .8;
               }
                   .footer .btn:hover {
                           opacity: .95;
                           color: #fff;
                   }
                   .footer .btn:active {
                           opacity: 1;
                           background-color: #bc5f29;
                           background-image: -webkit-gradient(linear, left top, left bottom, from(#b55625), to(#c3692d));
                           background-image: -webkit-linear-gradient(top, #b55625, #c3692d);
                           background-image: -moz-linear-gradient(top, #b55625, #c3692d);
                           background-image: -o-linear-gradient(top, #b55625, #c3692d);
                           background-image: -ms-linear-gradient(top, #b55625, #c3692d);
                           background-image: linear-gradient(top, #b55625, #c3692d);
                           filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#b55625', EndColorStr='#c3692d');

                           box-shadow: inset 0 0 0 1px rgba(0,0,0,.2), inset 0 -1px 2px rgba(255,255,255,.1), inset 0 2px 2px rgba(0,0,0,.2), 0 1px 1px rgba(0,0,0,.1);
                   }
           .footer a {
                   margin: 0 4px;

                   color: #79654e;
                   text-decoration: none;
                   border-bottom: 1px solid #ddd2c6;
           }
                   .footer a:hover {
                           color: #665139;
                           border-color: #d1bfa9;
                   }

    .wrap {
           margin: 0 auto;
           width: 960px;
    }

    @media only screen and (min-device-width: 320px) and (max-device-width: 480px), (max-width: 900px) {
           .wrap {
                   width: 90%;
           }
           #logo {
                   left: 50px;
                   top: 30px;
           }

           .banner h1, .banner h2 {
                   font-size: 24px;
                   line-height: 30px;
           }
           .banner ul li {
                   height: 240px;
           }
           .banner .inner {
                   padding-top: 100px;
                   padding-bottom: 50px;
           }
           .banner p {
                   font-size: 15px;
                   width: 80%;
                   margin: 0 auto;
           }
           pre {
                   overflow: auto;
           }
           .features li {
                   width: 100%;
                   margin-left: 10px;
                   margin-bottom: 30px;
           }
           .how li {
                   width: 90%;
           }
           .how pre {
                   position: static;
                   width: 100%;
           }
    }

    @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
           .features li:before {
                   background: url('img/icons@2x.png');
                   background-size: 100%;
           }
    }


    Poi puoi smanettarci togliendo immagini, aggiungendole o cambiando i colori come più ti piacciono.

    Infine lo usi come segue:

    CODICE
    <!--Questi servono a far riconoscere i vari file vanno nella sezione HEAD-->
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="unslider.js"></script>
    <link rel="stylesheet" href="style.css">

    <!--Questi nel body all'inizio! Servono a far avviare il plugin-->
    <script>
    $(function() {
      $('.banner').unslider({
           speed: 500,               //  velocità in millisecondi dello scorrimento
           delay: 3000,              //  Ritardo fra un cambio slide e l'altro sempre in millisecondi
           complete: function() {},  //Qui puoi aggiungere una funzione che viene chiamata automaticamente dopo ogni cambio slide in questo esempio è vuota
           keys: true,               //  Con questo dai la possibilità di cambiare slide con le frecce direzionali
           dots: true,               //  Questo mostra i pallini che segnalano la slide corrente e permettono la navigazione con il mouse
           fluid: false              //  Questo se messo a true avvia la visualizzazione responsive Adesso è disattivata perché potrebbe fare danni se la grafica del sito intero non è responsive.
    });
    });
    </script>

    <!--Le slide-->

    <div class="banner">
                           <ul>
                                   <li>
                                           <div class="inner">
                                                   <h1>Qui puoi inserire infinite cose</h1>
                                                   <p>Come lorem ipsum!</p>

                                                   <a class="btn" href="#download">Cliccami</a>
                                           </div>
                                   </li>

                                   <li>
                                           <div class="inner">
                                                   <h1>Puoi mettere come background al "li"</h1>
                                                   <p>aggiungendo dentro i tag style="background-image: url('img.jpg');"</p>
                                           </div>
                                   </li>

                                   <li>
                                           <div class="inner">
                                                   <h1>Leggimi</h1>
                                                   <p>Aggiungendo un li con dentro un div dotato di classe inner puoi inserire altre slide. i dot vengono aggiunti automaticamente</p>
                                           </div>
                                   </li>

                                   <li>
                                           <div class="inner">
                                                   <h1>Esempio aggiunta</h1>
                                           </div>
                                   </li>
                                   <li>
                                           <div class="inner">
                                                   <h1>Esempio aggiunta 2</h1>
                                           </div>
                                   </li>
                                   <li>
                                           <div class="inner">
                                                   <h1>Esempio aggiunta3</h1>
                                           </div>
                                   </li>
                           </ul>
                   </div>
     
    .
4 replies since 14/10/2013, 13:15   280 views
  Share  
.