AccueilDernières imagesRechercherS'enregistrerConnexion

Forum de graphisme, codage et game design proposant des tutoriels, astuces, libres services et commandes dans les domaines de l'infographie amateur, de l'intégration web (HTML et CSS essentiellement) ainsi que dans la conception de RPG sur forum.


    Page d'Accueil Slideshow/Défilante de Solid6Snake

    Alzufen
    Alzufen
    MasculinAge : 28Messages : 2103

    Dim 1 Nov - 13:05

    Rappel du premier message :

    Salut à tous !

    Suite à la demande de Solid6Snake trouvable ici : https://www.never-utopia.com/t57456p15-pa-demande-code-page-d-accueil, je viens ici pour partager le LS qui en découle, ce dernier étant une Page d'Accueil (Abrégé en PA pour le reste du LS).

    ----------¤ Les liens utiles ¤----------

    ¤ Vous pouvez voir le LS ici : http://puu.sh/l5pXS/c80436aff3.png (le fond gris est le fond de mon forum de test)
    ¤ Vous pouvez tester le code ici : http://jsfiddle.net/Alzufen/c460senw/3/show/

    ----------¤ Les pré-requis ¤----------

    ¤ Être minimum Admin du forum : Il vous faudra accéder au panneau d'administration pour utiliser ce LS.
    ¤ [Optionnel] Être Codeur: Si vous souhaitez modifier le code, notamment le JS (car le CSS/HTML est plus à la portée de tout le monde) je vous recommande fortement de vous y connaître, sinon, n'y touchez pas tout ce fais automatiquement.
    ¤ [Optionnel] Être Graphiste : Si vous voulez faire des modifications et notamment faire un joli titre, je vous recommande de le faire en Graph' !
    ¤ Avoir activé le JS sur son forum et le JS activé sur le navigateur : Si le JavaScript est désactivé sur votre forum, ou sur votre navigateur, le code ne fonctionnera pas bien. Il n'y aura aucun ajout automatique, et aucun moyen de défiler alors veillez à faire attention à ça.
    ¤ Crédits : Vous êtes priés de ne pas retirer le crédit à NU, il est placé de manière discrète. Si jamais il vous dérange malgré tout, veuillez à créditer NU sur votre page d'accueil !

    ----------¤ Les fonctionnalités spéciales ¤----------

    ¤ Fonction SlideShow : SlideShow, Carroussel, PA Défilante, appelez ça comme vous voulez le principe est pour moi le même. Ca vous permet de mettre plusieurs blocs sur une même ligne et d'en afficher que certains en même temps tout en pouvant défiler pour voir les suivants. Ils défilent grâce aux boutons rond en dessous, qui permet d'aller directement au bloc qui correspond, ou grâce au flèches pour celui d'en bas qui permet un défilement les uns après les autres.
    ¤ Fonction Retour au début : Le SlideShow retourne au début si on défile avec la flèche de droite et qu'on est à la fin de tous les blocs, ou va à la fin si on défile avec la flèche gauche.
    ¤ Fonction Automatique : Les ronds qui permettent d'accéder au bloc correspondant s'ajoute automatiquement en fonction du nombre de bloc que vous avez.
    ¤ 5 Blocs en une fois : Le bloc d'en bas permet d'afficher 5 blocs à la fois de petites tailles ! Bien évidemment, veillez à en mettre toujours 5 sinon vous aurez un blanc à côté des derniers avant le retour au début.
    ¤ Blocs ou Vidéo ? : A l'origine le code est prévu pour accueillir des vidéos, je n'ai pas encore testé en mettant du texte, ça devrait fonctionner cependant il n'y a pas d'ascenseur le risque est donc que le texte dépasse. Par contre, vous pouvez tout à fait y afficher des images.

    ----------¤ A Venir ¤----------

    Je prévois deux ajouts futurs et donc deux mises à jours à ce LS. A l'origine, le code demandait un défilement automatique, mais puisque j'ai un peu du mal à le réaliser avec mon code actuel et que je veux pas trop faire attendre le commanditaire, cette fonction viendra plus tard. De plus, je compte essayer de faire en sorte que les vidéos d'en bas soient une boucle. En gros, que vous mettiez un multiple de 5 en nombre de blocs (genre 15) ou moins (genre 13), on n'aura pas de bloc blanc à droite des derniers blocs mais le début de la PA.

    Deux petites fonctions sympa, peut-être inutile pour certains mais donc indispensable !

    Passons maintenant au code !

    Le code HTML, à mettre dans :
    Panneau d'administration > Affichage > Page d'Accueil > Généralité > Message sur la Page d'Accueil
    Code:
    <div class="pa_total">
      
     <div class="slide_bloc" id="shidden">
                  
     <div class="slide">
                      
     <div class="contenu">
        
     </div>
                      
     <div class="contenu">
        
     </div>
                  
     </div>
              
     </div>
              
     <div class="selecteur">
        
     </div>
            <a style="position: absolute; right: 45px; font-size: 8px; margin-top: -14px; color: rgba(0,0,0,0.5); text-decoration: none!important;" href="http://www.never-utopia.com/">(c) Never-Utopia</a>
     <div class="slide_bloc" id="shidden2">
                  
     <div class="slide_content">
                      
     <div class="slide">
                          
     <div class="contenu">
        
     </div>
                          
     <div class="contenu">
        
     </div>
                          
     <div class="contenu">
        
     </div>
                          
     <div class="contenu">
        
     </div>
                          
     <div class="contenu">
        
     </div>
                          
     <div class="contenu">
        
     </div>
                          
     <div class="contenu">
        
     </div>
                          
     <div class="contenu">
        
     </div>
                          
     <div class="contenu">
        
     </div>
                          
     <div class="contenu">
        
     </div>
                          
     <div class="contenu">
        
     </div>
                          
     <div class="contenu">
        
     </div>
                          
     <div class="contenu">
        
     </div>
                          
     <div class="contenu">
        
     </div>
                          
     <div class="contenu">
        
     </div>
                      
     </div>
                  
     </div>
              
     </div>
              
     <div class="selecteur">
        
     </div>
              
     <div class="fleches">
               <img src="http://image.noelshack.com/fichiers/2015/39/1443379244-150921023830175200.png" class="fleche gauche cliquable" />        <img src="http://image.noelshack.com/fichiers/2015/39/1443379244-150921023829827991.png" class="fleche droite cliquable" />      
     </div>
    </div>

    Pour ajouter des blocs, il vous suffit de copier coller ceci à la suite des autres :

    Code:
    <div class="contenu">
        
    </div>

    Si vous souhaitez mettre des images, vous pouvez soit remplacer la div par votre balise img (tout en veillant à rajouter la class) soit la mettre directement dans la div, mais veillez à retirer le "background" de la class "contenu" dans le CSS si jamais votre image n'est pas rectangulaire ou ne fais pas la taille totale de la div.

    Pour mettre des vidéos, vous pouvez faire pareil que les images.

    Le code CSS à mettre dans :
    Panneau d'administration > Affichage > Images et Couleurs > Couleurs > Feuille de Style CSS

    Code:
    .pa_total {
        position: relative;
        width: 850px;
        height: 490px;
        margin: auto;
    }
    .slide_bloc {
        position: relative;
        width: 766px;
        border: 1px solid #000;
        overflow: hidden;
        margin: auto;
        z-index: 3;
    }
    #shidden {
        height: 350px;
    }
    #shidden2 {
        height: 100px;
    }
    .slide {
        display: inline-block;
        position: relative;
        left: 0;
        height: 0;
        transition: 1s all;
    }
    .contenu {
        display: inline-block;
        background: red;
    }
    .contenu:first-child {
        background: yellow;
    }
    #shidden .contenu {
        width: 766px;
        height: 350px;
    }
    #shidden2 .contenu {
        width: 150px;
        height: 100px;
    }
    .selecteur {
        text-align: center;
        margin-bottom: 5px;
    }
    .selecteur img {
        opacity: 0.4;
        height: 10px;
        padding: 3px 1px 0;
        cursor: pointer;
    }
    .selecteur img:hover {
        opacity: 0.6;
    }
    .selecteur img.selected {
        opacity: 1;
        cursor: default;
    }
    .fleches {
        position: absolute;
        height: 100px;
        width: 850px;
        bottom: 19px;
        z-index: 2;
    }
    .fleche {
        position: absolute;
        top: 50%;
        margin-top: -16px;
        opacity: 0.6;
        cursor: pointer;
    }
    .fleche:hover {
        opacity: 1;
    }
    .gauche {
        left: 6px;
    }
    .droite {
        right: 6px;
    }

    Certaines parties du code ne vous sont pas forcément utile. Je parle notamment des backgrounds ici :

    Code:
    .contenu {
        display: inline-block;
        background: red;
    }
    .contenu:first-child {
        background: yellow;
    }

    Le premier sert à mettre une couleur de fond (rouge) à chaque contenu, mais si vous mettez des vidéos ou des images, cela vous servira à rien.

    Le second sert à afficher une couleur de fond (jaune) au premier bloc contenu, pour distinguer le début et la fin, évidemment comme au dessus, cela vous sers à rien si vous mettez des images ou des vidéos.

    Une mise à jour viendra avec des ajouts pour optimiser le code pour du texte ainsi que des commentaires dans le code CSS (et éventuellement JS) pour vous aider à savoir quoi modifier, quoi ajouter, etc. à votre guise.

    Passons à la fin, le code JS, à mettre dans :
    Panneau d'administration > Modules > HTML & JavaScript > Gestion des codes JavaScript > Veillez à bien avoir coché "Oui" à "Activer la gestion des codes Javascript :" et à enregistrer > Créer un nouveau code JavaScript > Mettez le titre que vous voulez (Par ex : Page d'Accueil) > Laissez coché "sur l'index" et seulement "sur l'index" puis copiez/collez :

    Code:
    $(window).load(function () {
        $('.slide').each(function () {
            var $this = $(this),
                $contenu = $this.children(),
                $parent = $this.parents('.slide_bloc'),
                $selection = $parent.next(),
                nbr = $contenu.length,
                nbr2 = Math.ceil(nbr / 5),
                width = ($contenu.width() + 4) * nbr,
                slide_id = $parent.attr('id');

            if (slide_id == 'shidden') {
                for (var v = 1; v <= nbr; v++) {
                    $selection.append('<img src="http://image.noelshack.com/fichiers/2015/39/1443376395-150921023657255860.png" class="selection" />');
                }
            } else {
                for (var v = 1; v <= nbr2; v++) {
                    $selection.append('<img src="http://image.noelshack.com/fichiers/2015/39/1443376395-150921023657255860.png" class="selection" />');
                }
            }
            $selection.children().first().addClass('selected');
            $this.css('width', width + 'px');
        });

        $('.selection').click(function () {
            var $this = $(this),
                position = $this.index(),
                s_hidden = $this.parent().prev(),
                sh_id = s_hidden.attr('id'),
                $selection = $this.parent().children(),
                $slide = s_hidden.find('.slide'),
                width = $slide.children().width();

            if ($this.not('.selected')) {

                if (sh_id == 'shidden') {
                    var left = (width + 4) * position;
                    $slide.css('left', '-' + left + 'px');
                } else {
                    var left = (width + 4) * 5 * position;
                    $slide.css('left', '-' + left + 'px');
                }
                $selection.removeClass('selected');
                $this.addClass('selected');
            }
        });
        $('.fleche').click(function () {
            var $this = $(this),
                $selecteur = $this.parent().prev(),
                $selection = $selecteur.children(),
                $next = $selecteur.children('.selected').next(),
                $prev = $selecteur.children('.selected').prev(),
                $c_slide = $('.slide_content'),
                $fleche = $('.fleche'),
                s_hidden = $this.parent().prev().prev(),
                $slide = s_hidden.find('.slide').first(),
                $contenu = $slide.children();

            function clic() {
                $fleche.addClass('cliquable');
            }

            function remove() {
                $slide.remove();
            }

            if ($this.hasClass('cliquable')) {
                $fleche.removeClass('cliquable');
                $selection.removeClass('selected');
                if ($this.hasClass('gauche')) {
                    var index = $prev.index();
                    if (index == -1) {
                        var width = ($slide.width() + 10) * 5,
                            nbr = $slide.children().length,
                            left = 770 * (nbr / 5);
                        $c_slide.css('width', width + 'px');
                        $selection.last().addClass('selected');
                        $slide.animate({
                            left: '+=770px'
                        },
                        5,
                            'linear');
                        $c_slide.append($slide.clone());
                        var $slide2 = s_hidden.find('.slide').last();
                        $slide2.css('left', '-' + left + 'px');
                        $c_slide.css('width', $slide.width() + 'px');
                        $slide2.animate({
                            left: '+=770px'
                        },
                        5,
                            'linear');
                        setTimeout(remove, 1000);
                    } else {
                        $prev.addClass('selected');
                        $slide.animate({
                            left: '+=770px'
                        },
                        5,
                            'linear');
                    }
                } else {
                    var index = $next.index();
                    if (index == -1) {
                        var width = ($slide.width() + 10) * 2;
                        $c_slide.css('width', width + 'px');
                        $selection.first().addClass('selected');
                        $slide.animate({
                            left: '-=770px'
                        },
                        5,
                            'linear');
                        $c_slide.append($slide.clone());
                        var $slide2 = s_hidden.find('.slide').last();
                        $slide2.css('left', '770px');
                        $c_slide.css('width', $slide.width() + 'px');
                        $slide2.animate({
                            left: '-=770px'
                        },
                        5,
                            'linear');
                        setTimeout(remove, 1000);
                    } else {
                        $next.addClass('selected');
                        $slide.animate({
                            left: '-=770px'
                        },
                        5,
                            'linear');
                    }
                }
                setTimeout(clic, 1000);
            }
        });
    });

    Il vous suffira ensuite d'enregistrer le code et d'aller voir le résultat sur votre forum.

    Sachez qu'en cas de problème, une section est mise à votre disposition pour toutes aides ici : https://www.never-utopia.com/f177-probleme-avec-mon-code n'hésitez donc pas à y poster si vous avez un quelconque soucis avec le code.

    Vos commentaires et remerciements sont toujours bienvenus ^^



    Kiki85
    Kiki85
    MasculinAge : 29Messages : 398

    Sam 11 Fév - 17:32

    Merci Very Happy
    Depp
    Depp
    FémininAge : 32Messages : 300

    Jeu 30 Mar - 16:18

    merci beaucoup <3



    Page d'Accueil Slideshow/Défilante de Solid6Snake - Page 2 Tumblr_nenygwIlcz1s4u464o1_500
    Erreur404
    Erreur404
    FémininAge : 26Messages : 2

    Jeu 30 Mar - 20:08

    Merci
    avatar
    Sanaa
    FémininAge : 30Messages : 157

    Ven 31 Mar - 14:52

    Un grand merci !
    mijako
    mijako
    FémininAge : 31Messages : 83

    Jeu 6 Avr - 0:11

    merci
    Caly.s
    Caly.s
    FémininAge : 25Messages : 13

    Sam 8 Avr - 16:44

    Merchi
    alsayed
    alsayed
    MasculinAge : 50Messages : 75

    Sam 6 Mai - 13:58

    Merci
    nuanciel
    nuanciel
    FémininAge : 32Messages : 139

    Mer 21 Juin - 7:42

    Merci beaucoup !
    Carmina
    Carmina
    FémininAge : 37Messages : 506

    Ven 23 Juin - 15:02

    merci
    Malizia.
    Malizia.
    FémininAge : 28Messages : 90

    Mer 2 Aoû - 14:09

    Merci :)
    Lilynufare
    Lilynufare
    FémininAge : 33Messages : 341

    Ven 17 Nov - 23:11

    merci du partage :)
    Bunikkk
    Bunikkk
    MasculinAge : 28Messages : 51

    Mar 9 Jan - 2:55

    Merci
    marie-noelle
    marie-noelle
    FémininAge : 66Messages : 112

    Mer 10 Jan - 23:10

    pour voir cheers
    Shakespeare
    Shakespeare
    FémininAge : 34Messages : 110

    Ven 12 Jan - 17:16

    Merci du partage !
    kazan
    kazan
    FémininAge : 106Messages : 13

    Lun 15 Jan - 1:40


    merci beaucoup !
    Porcelain Detox
    Porcelain Detox
    MasculinAge : 29Messages : 91

    Mar 30 Jan - 21:43

    Merci :)
    avatar
    Garunzo
    MasculinAge : 25Messages : 38

    Mer 7 Fév - 9:20

    merci
    SanctusMortem
    SanctusMortem
    MasculinAge : 28Messages : 5

    Dim 11 Mar - 0:35

    Merci
    Le Dévoreur de temps
    Le Dévoreur de temps
    MasculinAge : 44Messages : 92

    Mer 14 Mar - 0:43

    merci beaucoup pour le partage! Wink
    Sighild
    Sighild
    FémininAge : 37Messages : 225

    Mer 1 Aoû - 17:52

    Merci beaucoup pour le partage!
    wofhellboys
    wofhellboys
    MasculinAge : 56Messages : 24

    Mer 18 Sep - 15:10

    Super !! je vais tester en essayant de virer les bords de cadre par défaut(du PA) ! mais sinon Nickel !!
    Merci encore!!
    Contenu sponsorisé


      La date/heure actuelle est Jeu 28 Mar - 19:13