IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Définition d'une propriété d'un plugin carroussel


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Mai 2019
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Mai 2019
    Messages : 61
    Par défaut Définition d'une propriété d'un plugin carroussel
    Bonsoir,

    Je voulais définir une fonction d'un plugin carroussel fotorama que j'ai trouvé sur le net. Je voulais enlever les flèches de navigation uniquement pour les devices inférieurs à 850 px.

    Pour cela, j'ai suivi la doc de cette page : https://fotorama.io/docs/4/options/

    Dans mon code javascript, j'ai donc rajouté la fonction suivante :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function smallDevWithoutArrows() {
            if (window.matchMedia("(max-width: 850px)").matches) {
                $('.fotorama').fotorama({
                    arrows : false
                  });
            }
        }

    Je pense avoir juste, et pourtant cela ne fonctionne pas. Ce qui est bizarre, c'est lorsque je rentre l'instruction directement dans la console, cela fonctionne parfaitement ... Regardez l'image ci dessous :

    Nom : erreurFotorama.png
Affichages : 218
Taille : 563,5 Ko

    Cette instruction fonctionne :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $('.fotorama').fotorama({
                    arrows : false
                  });

    Cela me dit que que .fotorama n'est pas une fonction ... Pourtant je charge bien le script jQuery dans ma page, vu que le carroussel fonctionne parfaitement. J'imagine que j'ai raté un concept mais je ne vois pas quoi.


    Mon site : http://photo.sebgac.com

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    est tu certain que les chargements sont fait chronologiquement dans le bon ordre ?

    le plugin Jquery doit être chargé avant que tu ne l'initialises sur un élément de la page
    a quel moment ta fonction est elle lancée ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    si on regarde dans ton fichier main.js, il doit manquer des :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $(window).on('load',...
     
    $(window).on('resize',...
     
    $(window).on( 'load resize',...

    Remarque :
    tu devrais aussi faire un effort pour réduire la taille/poids des images.
    Certaines font plus de 1.5Mo !

  4. #4
    Membre averti
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Mai 2019
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Mai 2019
    Messages : 61
    Par défaut
    Bonjour,

    Merci pour ta remarque concernant les photos, c'est une chose que je pense aussi faire, avec le source set, mais cela viendra après, j'essaie de corriger les bugs de fonctionnement.

    $(window).on('resize',... // mais où cela manque ? A un moment j'avais rajouté $(document).on('click', '#asie', function () { pour écouter les évenements rajoutés par jQuery. Est-ce que $(window).on('resize',... a quelque chose à voir avec ça ?

    j'essaie de faire un truc comme ça :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (window.matchMedia("(max-width: 850px)").matches) {
                console.log('ARROW3');
                $(document).on('fotorama', function (e, fotorama) {
                    fotorama.setOptions({ nav: e.type === 'fotorama:arrows' && 'false' });
                });
            }

    sur le modèle d'un script précédent qui fonctionne bien et qui enlève les miniatures en mode plein écran

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function fullscreenWithoutThumbnails() {
            if (window.matchMedia("(max-width: 850px)").matches) {
                $(document).on('fotorama:fullscreenenter fotorama:fullscreenexit', function (e, fotorama) {
                    fotorama.setOptions({ nav: e.type === 'fotorama:fullscreenexit' && 'thumbs' });
                });
            }
     
        }

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bon...

    Perso, j'utilise Slick Slider.
    Voir les démos :
    • "Responsive Display", qui permet de définir des break points (Ça évite de se prendre le chou à rajouter des bouts de codes "exotiques" !)
    • "Slider Syncing", qui relie 2 sliders (pour avoir des vignettes/thumbs, par exemple)

  6. #6
    Membre averti
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Mai 2019
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Mai 2019
    Messages : 61
    Par défaut
    Ok, merci, je vais regarder ça. Mais j'aimais bcp le rendu de fotorama, à voir.

  7. #7
    Membre averti
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Mai 2019
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Mai 2019
    Messages : 61
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    est tu certain que les chargements sont fait chronologiquement dans le bon ordre ?

    le plugin Jquery doit être chargé avant que tu ne l'initialises sur un élément de la page
    a quel moment ta fonction est elle lancée ?
    J'ai essayé de mettre le script juste après celui du plugin de cette façon mais cela ne fonctionne pas pour autant

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script src="http://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.js"></script>
     
    <script>
     
    $('.fotorama').fotorama({
      arrows: false
    });
     
     
    </script>

    Nom : erreurFotorama2.png
Affichages : 200
Taille : 608,1 Ko

    Normalement le script du plugin est bien lancé avant d'évoquer la fonction, donc cela devrait marcher

Discussions similaires

  1. Problème de définition d'une Propriété
    Par bzerath dans le forum Général Python
    Réponses: 2
    Dernier message: 10/02/2014, 19h04
  2. [XSD] définition d'une propriété abstraite
    Par jyerfr dans le forum Valider
    Réponses: 1
    Dernier message: 22/02/2008, 13h39
  3. Définition d'une propriété de type 'TAnchors'
    Par Grosbenji dans le forum C++Builder
    Réponses: 3
    Dernier message: 08/02/2008, 10h14
  4. Réponses: 1
    Dernier message: 19/12/2007, 12h55
  5. Réponses: 0
    Dernier message: 15/10/2007, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo