TxReplay
{ Membre }
Messages : 27
| Hello J'avais pourtant cru que j'allais réussir, j'ai fais la moitié du chemin seul, mais là j'en peu plus, je galère à mort... J'espère qu'il y a des fins connaisseurs du Javascript ici, si c'est le cas, voici mon problème : En fait, je suis parti de ce tuto : http://cssglobe.com/lab/easyslider/02.html Tout est donné, le code, la démo etc... Mais vu que je dois l'adapter, et que c'est pas exactement ce que je recherche, je dois faire quelques modifications.
- Une animation automatique de défilement toutes les x secondes.
- Lorsqu'on arrive à la dernière image, on revient à la première et vice-versa.
- Par conséquent, que les 2 flèches soient toujours visibles quelque soit l'image en cours. (Actuellement, si on est à la première image, "Précédent" est masqué, idem pour "Suivant" quand on est à la fin).
J'ai déjà réussi à remplacer le texte par des images de flèches. J'ai trouvé quelques lignes à supprimer pour voir apparaître les flèches, mais ça marche que au début, quand on revient sur l'image 1, elle disparaît... Je vous laisse mon code : - HTML:
- Code:
-
<div id="slider"> <ul> <li><img src="img/img1.png" /></li> <li><img src="img/img2.png" /></li> <li><img src="img/img3.png" /></li> </ul> </div> <script> $(document).ready(function(){ $("#slider").easySlider({ orientation:'vertical' }); }); </script>
- CSS:
- Code:
-
#slider { position: absolute; top: 30%; left: 5%; }
#slider ul, #slider li{ margin:0; padding:0; list-style:none; }
#slider, #slider li { width:228px; height:331px; overflow:hidden; }
- Javascript:
- Code:
-
(function($) {
$.fn.easySlider = function(options){ // default configuration properties var defaults = { prevId: 'prevBtn', prevText: '<img src="img/flecheh.png" width="30px" height="30px" style="position: absolute; top: 81%; left: 10%"/>', nextId: 'nextBtn', nextText: '<img src="img/flecheb.png" width="30px" height="30px" style="position: absolute; top: 81%; left: 13%"/>', orientation: '', // 'vertical' is optional; speed: 2000 }; var options = $.extend(defaults, options); return this.each(function() { obj = $(this); var s = $("li", obj).length; var w = obj.width(); var h = obj.height(); var ts = s-1; var t = 0; var vertical = (options.orientation == 'vertical'); $("ul", obj).css('width',s*w); if(!vertical) $("li", obj).css('float','left'); $(obj).after('<span id="'+ options.prevId +'"><a href=\"javascript:void(0);\">'+ options.prevText +'</a></span> <span id="'+ options.nextId +'"><a href=\"javascript:void(0);\">'+ options.nextText +'</a></span>'); $("a","#"+options.prevId).hide(); $("a","#"+options.nextId).hide(); $("a","#"+options.nextId).click(function(){ animate("next"); if (t>=ts) $(this).fadeOut(); $("a","#"+options.prevId).fadeIn(); }); $("a","#"+options.prevId).click(function(){ animate("prev"); if (t<=0) $(this).fadeOut(); $("a","#"+options.nextId).fadeIn(); }); function animate(dir){ if(dir == "next"){ t = (t>=ts) ? ts : t+1; } else { t = (t<=0) ? 0 : t-1; }; if(!vertical) { p = (t*w*-1); $("ul",obj).animate( { marginLeft: p }, options.speed ); } else { p = (t*h*-1); $("ul",obj).animate( { marginTop: p }, options.speed ); } }; if(s>1) $("a","#"+options.nextId).fadeIn(); }); };
})(jQuery);
En espérant que quelqu'un puisse m'aider Bonne chance ! | | |
|
Espeon
Administrateur
Messages : 1819
| Bonjour, Effectivement il s'agit d'adapter un code Javascript qui demande tout de même de bonnes connaissances là-dedans. Je pourrais éventuellement y jeter un oeil mais je me demande si, au vu des quantités phénoménales de sliders (et de bons sliders) qui existent à présent sur le web, ne serait-il pas plus simple pour vous de rechercher directement un slider qui répondrait à votre demande (animation automatique + boucle vers le premier). Je pense que cela doit exister, et ce serait certainement plus simple/propre que de devoir adapter un script qui n'a pas été pensé pour cela Tenez-moi au courant si vous trouvez (ou non) votre bonheur ! | | |
|
Kiba
{ Membre }
Messages : 31
| Coucou J'ignore si tu as trouvé ton bonheur et je n'ai malheureusement pas la réponse à ta question, cependant comme l'a suggéré Espeon tu peux trouver d'autres slider sympathiques. Personnellement j'utilise celui-ci : http://css-tricks.com/startstop-slider/ Je n'ai aucun problème avec ! Il m'a juste fallu changer le temps avant le slide et tout le CSS ( bicoz c'était très moche). Sur le même site il y a celui-ci http://css-tricks.com/examples/AnythingSlider/ mais je ne l'ai pas testé. Je trouve le premier très personnalisable donc pour moi c'est amplement suffisant Voilà, j'espère t'avoir aidée. Bonne journée ! | | |
|
Murtagh
{ Modérateur }
Messages : 1492
| Bonjour, Les réponses suggérées t'ont-elles été utiles ou bien cherches-tu encore réponse à ce problème ? Dans le cas où nous n'aurions pas de nouvelles dans quatre jours, ce sujet sera archivé.Merci. | | |
|
Murtagh
{ Modérateur }
Messages : 1492
| Bonjour, Sans réponse de ta part depuis maintenant plus de dix jours, ce problème est verrouillé. N'hésite pas à refaire une demande si jamais il n'était pas résolu. Merci de ta compréhension. | | |
|