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

AngularJS Discussion :

Mauvaise redirection d'un carrousel


Sujet :

AngularJS

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 2
    Points : 5
    Points
    5
    Par défaut Mauvaise redirection d'un carrousel
    Bonjour,

    Tout d'abord, je tiens à préciser que je suis en stage en entreprise,

    héritant du travail laborieux d'ancien stagiaires, je dois apporter des modifications sur un des sites que l'entreprise utilise en interne,

    Ayant que très peu de notion en Javascript / AngularJS, j'ai essayé de décortiquer le code afin de le comprendre.

    Mon problème est le suivant : il existait un carrousel/slider d'image sur la page d'accueil, ainsi qu'une vidéo. La demande est de crée un carrousel des miniatures de ces vidéos (ce que j'ai réussi à faire), mais cependant, quand je clique sur une miniature elle devrait "ouvrir" la vidéo sur la page, le problème est que chaque miniature envoie vers la même vidéo.

    Je me doute bien que le soucis est entre mon clavier et ma chaise, mais je n'arrive pas à le trouver, voici les différents bouts de code qui vous seront je pense nécessaire :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <!--- Index -->
     
    <div class="col-lg-5 col-md-5 col-sm-6 col-xs-12 contVideo">
                <div>
                  <div class="video" ng-controller="videoCtrl">
                    <slick class="carousel" infinite="true" settings="slickConfig">
                    <div ng-repeat="data in video" class="contentVideo" ng-style="{'background-image':'url({{data.miniature}})'}">
                      <a data-toggle="modal" data-target="#myModal">
                        <img ng-src="images/index/video/BoutonPlay.png" alt="Play" />
                      </a>
                      <div class="descriptionVideo">
                        <p>{{data.legende}}</p>
                      </div>
                    </div>
               </slick>
                    <div class="modal fade" id="myModal" ng-repeat="data in video">
                      <div class="modal-dialog" role="document">
                        <div class="modal-content">
                          <div class="modal-header">
                            <button ng-attr-type="button" class="close" data-dismiss="modal">x</button>
                          </div>
                          <div class="modal-body">
                         <video id="video1" ng-src="{{data.src}}" controls="controls" width="550px" height="300px" poster="{{data.miniature}}" preload="metadata"></video>
                          </div>
                        </div>
                      </div>
                    </div>
     
                  </div>
                </div>
              </div>


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    // VideoCtrl.js
    app.controller("videoCtrl", function($rootScope, $scope, $window) {
     
      // INFORMATION GENERAL VIDEO
      // legende = "resume" ou titre de la video
      // src = adresse de la video
      // miniature =  background video
      $scope.video = [
        {
          "legende": "CECI EST LA VIDEO 1",
          "src": "images/index/video/video1.mp4",
          "miniature": "images/index/video/videoMiniature.png"
        },
        {
          "legende": "CECI EST LA VIDEO 2",
          "src": "images/index/video/video2.mp4",
          "miniature": "images/index/video/miniature2.png"
        },
        {
          "legende": "CECI EST LA VIDEO 3",
          "src": "images/index/video/video3.mp4",
          "miniature": "images/index/video/miniature3.jpg"
        }
     
      ];
     
      // reinitialise le scroll au changement de vue
      $rootScope.$on('$routeChangeSuccess', function() {
        var interval = setInterval(function() {
          if (document.readyState == 'complete') {
            $window.scrollTo(0, 0);
            clearInterval(interval);
          }
        }, 10000);
      });
     
      // Scope slider + img slider + config slider
      $scope.slickConfig = {
        prevArrow: '<img src="images/index/slider/prev.png"class="slick-prev"/>',
        nextArrow: '<img src="images/index/slider/next.png"class="slick-next"/>',
        autoplay: true,
        draggable: true,
        autoplaySpeed: 10000      //1000 egal 1 second
      }
     
     
    });
    Il y a surement des erreurs et/ou des choses en trop, j'avoue avoir repris le code des anciens stagiaires qui avaient déjà fait un carrousel sur cette même page et essayé d'adapter au besoin,

    Je reste disponible pour toutes questions,

    Un grand merci à vous

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 2
    Points : 5
    Points
    5
    Par défaut
    Problème résolu ! Pour ceux qui ont le même soucis un jour : le problème vient du fait que la modal qui s'ouvre boucle sur toutes les vidéos (et prends uniquement la première en l’occurrence !)

    Dans mon cas, la solution à été de modifier les lignes suivantes (8 et 16) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a data-toggle="modal" data-target="#myModal">
    devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a data-toggle="modal" data-target="#video-{{data.id}}">
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="modal fade" id="myModal" ng-repeat="data in video">
    devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="modal fade" id="video-{{data.id}}" ng-repeat="data in video">

    Ainsi, n'oubliez pas d'ajouter un id à vos vidéos votre controller !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mauvaise redirection pour le sous domaine w[w]w
    Par Aldorus dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 22/08/2012, 21h51
  2. Mauvaise redirection vers mon VirtualUser
    Par Khleo dans le forum Debian
    Réponses: 2
    Dernier message: 13/03/2011, 20h50
  3. [URL rewriting] Mauvaises redirections
    Par pascal64 dans le forum Apache
    Réponses: 2
    Dernier message: 04/03/2010, 15h23
  4. mauvaise redirection $this->_redirect(
    Par Jcpan dans le forum MVC
    Réponses: 3
    Dernier message: 08/12/2009, 08h42
  5. [JSP] Mauvaise redirection vers une page
    Par taroudant dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 21/07/2006, 14h06

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