11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je bricole des bouts de code html depuis quelques années dans le but d'être capable de refaire moi-même mon portfolio tous tous les ans, mais je ne suis jamais vraiment allé plus loin, et je suis aujourd'hui toujours à un stade primaire.

Je voudrais cette fois ci présenter mes projets sur des slideshows en utilisant le pluggin Javascript Easyslider.

J'ai besoin de pouvoir intégrer plusieurs slideshow à une même page html.

L'obstacle auquel je me heurte, c'est que je pourrais avoir partiellement réussi, sauf que je n'arrive pas à dissocier les contrôleur numériques des deux slideshow que j'ai pour l'instant intégrés (les 5 premiers chiffres correspondant aux 5 images de mon premier SShow sont suivis des 6 chiffres correspondant aux 6 chiffres du deuxième SS). Ils sont fonctionnels, et fonctionnent en dissocié car je peux faire défiler dans un sens le premier SS, et dans l'autre sens le deuxième, cependant quelque chose me fait dire que j'ai tout faux: sur les 11 chiffres (correspondant aux 11 images réparties entre mes deux SS (5 images dans le premier, 6 dans le second)) que j'ai donc dans mon unique contrôleur numérique, un seul est mis en surbrillance à la fois, témoignant de l'avancée du défilement d'une image à l'autre.

Je devrais avoir deux témoins, ce qui me fait dire qu'il ne sont pas seulement ensemble sur ma page, mais qu'ils fonctionnent ensemble. Pourtant, je suis bien capable de faire passer le premier SS de l'image 1 à 5, et dans le même temps le deuxième SS de l'image 6 à 1.

J'essaye d'être clair, mais j'ai l'impression que cela reste confus. Je m'en excuse. J'espère que vous me comprendrez et que vous saurez m'éclairer.

Voici mon code Javascript:

<script type="text/javascript" src="./js/jquery.js"></script>
    <script type="text/javascript" src="./js/easySlider1.7.js"></script>
    <script type="text/javascript" src="./js/easySlider1.7.2.js"></script>

    <script type="text/javascript">
        jQuery(document).ready(function(){
            jQuery("#slider").easySlider({
                auto: true,
                continuous: true,
				prevId: 'prev1',
				nextId: 'next1',
                numeric: true,
                speed:800,
                pause:3500
            });
        });
    
        jQuery(document).ready(function(){
            jQuery("#sliderdeux").easySlider({
                auto: true,
                continuous: true,
				prevId: 'prev2',
				nextId: 'next2',
                numeric: true,
                speed:800,
                pause:3500
            });
        });
    </script>


Note: J'ai créé un deuxième pluggin, que j'ai bêtement nommé "easySlider1.7.2.js"

Mon code html:

<div id="slider">
        <ul>
        
                 
            <li><a href="/"><img src="works/sichuan/image5.jpg" alt="Cinquième image" /></a></li>

            <li><a id="projet1" href="/"><img src="works/sichuan/20120926_lamp_v3_2_2.490.jpg" alt="Première image" /></a></li>
            <li><a id="projet2" href="/"><img src="works/sichuan/20120926_lamp_v3_2_2.491.jpg" alt="Deuxième image" /></a></li>
            <li><a href="/"><img src="works/sichuan/20120926_lamp_v3_2_2.492.jpg" alt="Troisième image" /></a></li>
            <li><a href="/"><img src="works/sichuan/20120926_lamp_v3_2_2.494.jpg" alt="Quatrième image" /></a></li>
        </ul>
    </div>
        <div id="projet1desc"><img src="works/sichuan/desc.jpg" /></div>
        
        <div id="sliderdeux">
        <ul>
        
                 
            <li><a href="/"><img src="works/polichinelle/DSC02287.jpg" alt="Cinquième image" /></a></li>

            <li><a id="projet1" href="/"><img src="works/polichinelle/scanduck.jpg" alt="Première image" /></a></li>
            <li><a id="projet2" href="/"><img src="works/polichinelle/DSC02279.jpg" alt="Deuxième image" /></a></li>
            <li><a href="/"><img src="works/polichinelle/DSC02280.jpg" alt="Troisième image" /></a></li>
            <li><a href="/"><img src="works/polichinelle/bureaufamille.jpg" alt="Quatrième image" /></a></li>
            <li><a href="/"><img src="works/polichinelle/bureaudesigner.jpg" alt="Quatrième image" /></a></li>

        </ul>
    </div>



Je ne sais pas réellement ce que je fais, je tâtonne réellement. J'ai probablement tout faux. Merci à vous,
Bonjour,

tu as un problème avec la compréhension du script easyslider je pense.

Primo il te faut jQuery a inclure dans ton header.
Deuxio, pas besoin de créer un deuxième fichier
easySlider1.7.2.js
Supprime le tu risque d'avoir des conflits.

Et pour finir, je ne sais pas ou tu a trouvé le bou de code js, mais ce n'est pas ça. Je ne sais pas pourquoi tu as des "jQuery()" qui traîne un peu partout !

Normalement ça doit être quelque chose du genre :


$(document).ready(function(){	
	$("#slider").easySlider({
		auto: true,
		continuous: true 
	});
});


Je te renvois vers la page officielle du script ou tu pourras télécharger les sources avec de bonnes Démos dedans. N'hésite pas à regarder.

http://cssglobe.com/easy-slider-17-numeric-navigation-jquery-slider/
Modifié par MrJO (08 Oct 2012 - 14:28)
MrJO,

Merci d'abord pour ta réponse.

J'ai effectivement des problèmes de compréhension du script, comme je l'explique dans mon post original je ne comprends pas vraiment ce que je fais, car j'ai très peu de notions.

Quand tu me dis devoir inclure jquery dans mon header, n'est ce pas cette ligne là?

<script type="text/javascript" src="./js/jquery.js"></script>


Je supprime donc le deuxième fichier, il résulte d'une de mes expérimentations destinées à résoudre mon problème après avoir cherché sur les forums, tout comme ces "jQuery()" que tu voies un peu partout. À l'origine, c'est bien l'exemple que tu me donnes que j'utilisais (il s'est avéré que j'obtenais le même comportement avec les "jQuery()", c'est la raison pour laquelle je l'ai laissé dans mon code). Mais je les enlève.

J'ai effectivement eu recours à la consultation de la page officielle, mais rien ne m'a permis de trouver la solution à mon problème.

Peut être serais tu d'accord pour jeter un oeil à mon fichier si je te le mettais en ligne? J'imagine que tu verrais beaucoup mieux et beaucoup plus rapidement où se situe mon problème? Je ne voudrais pas te faire perdre de temps, mais j'ai vraiment besoin d'arriver à faire fonctionner ce code, et tu es le seul espoir auquel me raccrocher..
Le site officiel présente bien le "multiple slides", mais l'exemple ne présente pas le cas où l'on aurait un contrôleur numérique pour chacun d'eux..

Merci encore,

Benoît
Ouep une page démo serais bien utile Smiley cligne

Car peut être tes contrôleurs numériques sont cachés par une autre div ou un truc dans le genre. Tous dépends de tes css. As tu essayer d'analysé le code source rendu avec firebug ?
Je suis en train de mettre en ligne ma démo. Je suis à Shanghai et ma connection fait des siennes, cependant en lisant la longue liste des commentaires qui figurent sur la page officielle du créateur, je suis finalement tombé sur un utilisateur qui a eu le même problème que moi... Je me demande maintenant si ce n'est pas un problème lié au code original, parce que tout le reste fonctionne.. upload/46485-Capturedec.png
Ok, donc je te présente mes excuses pour faire un peu n'importe quoi sur ce sujet. Ainsi qu'aux prochains éventuels visiteurs.

Trois commentaires en dessous, un dénommé Chris donne à PattyR la solution à son problème (voir capture ci dessous), seulement ça n'a pas trop de sens pour moi, je ne sais pas à quel endroit du script jquery je dois faire la modification...

Peux tu m'aider?

Capture:

upload/46485-reply.png
Modifié par Benoit Le Gris (09 Oct 2012 - 14:54)
Ok j'ai réussi MrJO,

Il suffisait d'appliquer un 'numericId' différent de l'Id par défaut appliqué au premier slider qui est numericId: 'controls" et de dupliquer le CSS comme le dit Chris dans son commentaire, en remplaçant les Id par défaut par l'Id choisi.

Merci pour ton aide!

Benoît