J'ai tag d'image sur ma page. J'ai besoin que cette balise montre des images différentes toutes les 1s. Mes images sont stockées dans le dossier "pict". Comment y parvenir en utilisant JQuery?Modifier les images en utilisant JQuery
Répondre
Un simple rotateur d'image que j'utilise est ci-dessous. Vous devrez rendre toutes les images dans un div
à partir de votre dossier, en utilisant un langage côté serveur.
voir travailler ici: http://jsbin.com/iledo3
Si vous avez beaucoup d'images, je vous recommande de les pré-charger en premier.
HTML:
<div id="slideshow-container">
<div id="slideshow">
<img src="img/home-1.jpg">
<img src="img/home-2.jpg">
<img src="img/home-3.jpg">
</div>
</div>
CSS:
#slideshow-container { height:410px; position:relative; }
#slideshow-container img { position:absolute; left:0; top:0; width:100%; height:100% }
#slideshow { position:absolute; left:0; top:0; width:100%; height:100%; list-style:none }
#slideshow img { width:904px; height:410px; background-repeat:none; background-position:top left; position:absolute; left:0; top:0 }
#slideshow { position:absolute; left:0; top:0; width:100%; height:100%; }
#slideshow img { width:904px; height:410px; background-repeat:none; background-position:top left; position:absolute; left:0; top:0 } /* adjust this for your images */
jQuery:
$('#slideshow img:gt(0)').hide(); //hide all images except first initially
setInterval(function(){
$('#slideshow :first-child').fadeOut('slow')
.next('img').fadeIn('slow')
.end().appendTo('#slideshow');},
2000); //2 second interval
Vous pouvez soit saisir l'élément img et utiliser le attr method pour modifier son src, soit replace avec un élément img différent. De toute façon, vous voudrez probablement utiliser setInterval pour gérer le calendrier.
Est-ce que le plugin jQuery Cycle peut vous aider?
Stockez toutes vos sources d'images dans un tableau, puis, si vous souhaitez en sélectionner un au hasard, utilisez la fonction Math.random
et utilisez enfin jQuery.attr()
pour changer l'attribut src
de votre image. Tout cela devrait être à l'intérieur d'une fonction qui est déclenchée chaque seconde. Voici un projet de version du code, en supposant que vos images sont stockées dans le dossier images
par rapport à votre URL actuelle:
function imageRotate() {
var images = ["image1.jpg", "image2.jpg", "image3.jpg", "image4.jpg"];
var i = Math.floor(Math.random() * images.length);
jQuery('#my-image').attr("src", "/images/" + images[i]);
setTimeout('imageRotate()', 1000); // Re-launch after one second
}
setTimeout('imageRotate()', 1000); // First launch after 1 second interval
Sinon, vous pouvez essayer le jQuery Cycle plugin.
Exemple:http://jsfiddle.net/8GkS7/
$(function() {
var images_array = [
"/pict/image0.jpg",
"/pict/image1.jpg",
"/pict/image2.jpg",
"/pict/image3.jpg",
"/pict/image4.jpg"
];
var i = 0;
var len = images_array.length;
var $img = $('#myImage');
setInterval(function() {
$img.attr('src', images_array[ i++ % len]);
}, 1000);
});
Ou si vos images sont numérotées comme ça, vous pouvez réellement faire sans le tableau:
$(function() {
var i = 0;
var len = 5; // Total number of images
var $img = $('#myImage');
setInterval(function() {
$img.attr('src', "/pict/image" + (i++ % len) + ".jpg");
}, 1000);
});
EDIT: Notez que pour utiliser la deuxième exemple, le numéro d'index pour vos images doit commencer par 0
. Si elles commencent par 1
, vous aurez besoin de (i++ % len + 1)
.
- 1. Comment changer les images en utilisant jquery en utilisant .load()
- 2. jquery avec l'état off et click en utilisant les images
- 3. pour faire défiler les images verticalement en utilisant jquery
- 4. fadeout() images avec délai en utilisant jQuery
- 5. Modifier les liens hypertexte dynamiquement en utilisant jquery
- 6. Modifier l'URL et redirigez en utilisant jQuery
- 7. Modifier CSS en utilisant "if" dans jQuery
- 8. Modifier la largeur des images avec la même classe uniformément en utilisant jQuery?
- 9. jquery précharger les images
- 10. changer les images en utilisant runOnUiThread
- 11. Divs sur les images en utilisant JavaScript
- 12. modifier les images backgoroun dynamiquement eclipse blackberry
- 13. Modifier le contenu HTML en vrac en utilisant jQuery
- 14. images de charge en utilisant jquery ajax asp.net dans
- 15. Recadrer et modifier des images en C#
- 16. En utilisant jQuery, aider à modifier un ensemble de urls
- 17. modifier en place jquery
- 18. Modifier nième li dans une liste en utilisant jquery
- 19. Impossible d'obtenir ImageMagick pour traiter les images téléchargées en utilisant
- 20. en essayant de centrer les images en galleria jquery
- 21. Modifier l'entrée val. et le type en utilisant jQuery
- 22. Jquery/CSS - Empilez les images par "rel"
- 23. Modifier une image en utilisant JCrop
- 24. Comment modifier les contrôles modélisés en utilisant les styles
- 25. modifier les autorisations en C en utilisant exec()
- 26. Modifier l'URL pour bookmarking en utilisant JavaScript
- 27. en utilisant jquery pour Calculer les images totales dans <id>
- 28. Réinitialiser la position des images avec les coordonnées enregistrées en utilisant jQuery Draggable
- 29. Comment afficher les images quand on clique sur un lien en utilisant JQuery, PHP et MySQL?
- 30. jQuery modifier les boîtes et les formulaires
Merci beaucoup Moin !!! – Damir
Mais quelque chose d'étrange arrive quand je viens sur la page. Je mets six photos et quand charge la galerie de la page scintille rapidement un pic-1 pic-6 pic-2 pic-6 pic-3 pic-6 pic-4 pic-6 pic-5 pic-6, après ça ça marche super! Est-ce quelque chose avec un problème de hidding? – Damir
J'ai mis à jour ma réponse avec un petit changement. Pouvez-vous essayer maintenant? –