Twitter Bootstrap Carrousel de la durée de la diapositive
Dans le Twitter Bootstrap Carrousel, comment puis-je faire une diapositive particulière à avoir une durée différente de celle des autres?
Je peux changer le curseur de la durée de l'intervalle de paramètre", mais ne savent pas comment personnaliser la durée d'une diapositive particulière.
Je sais que c'est plus d'un an, mais je suis très heureux que j'ai trouvé une solution simple à ce problème de la sorcière est toujours un problème, même aujourd'hui. J'espère que mon answere est utile pour vous.
Voir aussi Bootstrap personnalisé carrousel intervalles
Voir aussi Bootstrap personnalisé carrousel intervalles
OriginalL'auteur Rafa Mérida | 2013-01-09
Vous devez vous connecter pour publier un commentaire.
Bootstrap 3.1 carrousel ne permettent pas de diferent de la durée de chaque diapositive, mais il offre une méthode et un événement que nous pouvons utiliser afin de ahieve.
Nous allons utiliser le
slid.bs.carousel
événement à détecter lorsque le mouvement est achevé sa transition de diapo et de la.carousel('pause')
option pour arrêter le manège à vélo à travers les éléments.Nous allons utiliser cet attribut
data-interval="x"
sur chaque carrousel élément avec différents temps de la durée, de sorte que notre html ressemblera à ceci par exemple:Maintenant, tout ce que nous avons à faire est de:
slid.bs.carousel
événement
.carousel('pause')
terminé nous devrions reprendre le carrousel
Le javascript, le code ressemblera à ceci:
Comme vous pouvez le voir, nous sommes forcés au début pour ajouter un intervalle de départ et je l'ai fixé à 1000ms mais je l'enlever à chaque fois que je fais une pause le carrousel
duration-1000
. J'ai utilisé les lignes ci-dessous pour résoudre le premier problème d'article, car cet élément n'a pas été pris par leslid event
.J'ai aussi remarqué que si l'utilisateur appuie sur les flèches, le délai d'attente est fou, c'est pourquoi j'ai effacer le délai d'attente chaque fois que l'utilisateur appuyez sur la flèche gauche et flèche droite.
Voici mon exemple http://jsfiddle.net/paulalexandru/52KBT/, espérons que cette réponse a été utile pour vous.
carousel('pause')
de travailler à tous dans la diapositive.bs.carrousel de l'événement. J'ai essayé sur tout ce qui est possible et il n'a jamais de pause - juste continué à aller dans le cycle. Ma solution a été très semblable à la vôtre au lieu d'utilisercarousel('next')
avecsetTimeout
etdata-interval
attribut. Merci pour de me pointer dans la bonne direction.Vous êtes les bienvenus. Le carrousel ("pause") l'option est active dans tous les cas, vous pouvez consulter la documentation ici getbootstrap.com/javascript/#carousel-usage . La plupart vous avez probablement quelques erreurs dans votre code. Il devrait vraiment travailler sans aucun problème. Si vous dépouiller de votre code et de le garder juste le carrousel, ou même si vous essayez un vide exemple dans jsfiddle, vous allez voir comment il fonctionne. Je ne conseillerais d'utiliser setTimeout parce que si vous appuyez sur les flèches, la durée peut aller fou. À tout moment est préférable d'utiliser le bootstrap carrousel options.
comment avez-vous gérer? comment avez-vous mis de temps pour la première diapositive
les données de l'intervalle="3000"
OriginalL'auteur paulalexandru
Vous devez définir l'intervalle dans la div principale que les données de l'intervalle de balise. De sorte qu'il fonctionne bien et vous pouvez donner de temps différentes pour différentes diapositives.
Je ne vois pas comment cela pourrait fonctionner pour les différents intervalles de temps sur les différentes diapositives... mais il a résolu ce que j'essayais de faire ce qui est de changer l'intervalle sur TOUTES les diapositives. Donc merci pour la simple post pour cela.
OriginalL'auteur Ali Umair
Je ne pouvais pas obtenir
carousel('pause')
à travailler à l'intérieur de l'amorçage des gestionnaires d'événements. Je ne sais pas pourquoi, peut - être que c'était dû à dynamiquement rendu de la glisse avec KnockoutJS ou peut-être un bug dans le Bootstrap (je suppose que c'est mon code).Donc dans le but de définir une diapositive de l'intervalle indépendant de ses amis dans le carrousel, j'ai utilisé le
slid.bs.carousel
événement bouillonnait dans le Bootstrap avec l'aide desetTimeout
pour définir l'intervalle basé sur l'élémentdata-interval
attribut et manuellement l'appel de lacarousel('next')
méthode.JS
HTML
Dans cet exemple
#slide1
sera la première diapositive de votre carrousel et de montrer pendant 5 secondes. Après 5 secondes, il va glisser vers#slide2
.#slide2
fera une pause de 10 secondes avant de le glisser à#slide3
. Et ainsi de suite. Et ainsi de suite...OriginalL'auteur Andy Brudtkuhl
Si vous n'avez toujours pas trouvé de solution, j'ai modifié le fichier de Bootstrap carousel.js pour ajouter cette fonctionnalité.
Ajouter un attribut facultatif (de données de l'intervalle de) "élément" de la classe de l'élément.
<div class="active item" data-interval="6000">
Modifier carousel.js
Ajouter un indicateur pour déterminer le premier cycle
Modifier la fonction de CYCLE
Exemple: JS Fiddle
OriginalL'auteur Kevin Garcia