#1 Le 03/04/2012, à 16:05
- AnsuzPeorth
[javascript] slideshow images et textes en pur javascript.
Bjr,
Voulant me frotter de plus prêt à javascript (et un peu par besoin), j'ai codé un slideshow 'par recouvrement' (z-index).
On peut choisir la direction du recouvrement et l'emplacement du texte.
La vitesse de défilement des images et du texte sont réglables séparément.
Lien version1: http://gwebradio.googlecode.com/files/slideshow.zip
Lien version2: http://gwebradio.googlecode.com/files/slideshow2.zip
Toutes critiques bienvenues, je ne suis pas expert en javascript (ni en autre choses d'ailleurs !)
Thx,
Dernière modification par AnsuzPeorth (Le 07/04/2012, à 10:38)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#2 Le 04/04/2012, à 14:17
- CKDevelop
Re : [javascript] slideshow images et textes en pur javascript.
yop merci poulet je test de ce pas sur le site de La Locale je te fait un retour dans la journée ++
Home -> Debian Jessie & Home server -> Debian Wheezy
Office -> Ubuntu 14.04 & Office server -> Ubuntu 12.04
Embedded -> Raspbian / Debian Wheezy
Hors ligne
#3 Le 04/04/2012, à 21:40
- temps
Re : [javascript] slideshow images et textes en pur javascript.
Le code fonctionne sous Epiphany et sous Iceweasel, maintenant je vais regarder son contenue, je reviens poster après.
Cordialement
Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net
Hors ligne
#4 Le 04/04/2012, à 22:57
- moths-art
Re : [javascript] slideshow images et textes en pur javascript.
C'est sympa mais maintenant ce genre de chose se fait avec jquery et le plugin cycle : http://jquery.malsup.com/cycle/.
C'est 10 à 15 ligne de code "propre" maximum pour la même chose et tu as la garantie que ça passe sur la majorité des navigateurs...
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
#5 Le 05/04/2012, à 06:28
- AnsuzPeorth
Re : [javascript] slideshow images et textes en pur javascript.
Merci pour les retour.
C'est sympa mais maintenant ce genre de chose se fait avec jquery et le plugin cycle : http://jquery.malsup.com/cycle/.
C'est 10 à 15 ligne de code "propre" maximum pour la même chose et tu as la garantie que ça passe sur la majorité des navigateurs...
Vi, je sais bien, mais comme je l'ai signalé, je voulais me coller de plus pret à javascript. Alors avant d'utiliser un framework pour manipuler le dom, je pense qu'il faut avant connaitre un minimum javascript ! Utiliser qqles fonctions JS n'est pas connaitre JS (je m'en suis bien rendu compte en utilisant les class, enfin pseudo class, bien moins souple qu'en python par exemple !)
De plus, ca m'embête un peu d'embarquer le framework complet + plugins juste pour une petite animation ...
J'ai regardé les effets proposé par ce plugins, et il n'y a pas l'effet que j'utilise ici. (mais je suis entièrement d'accord, jquery m'aurait fait économisé 50% de code), mais ne mettons pas la charrue avant les boeufs ...
Dernière modification par AnsuzPeorth (Le 05/04/2012, à 23:46)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#6 Le 06/04/2012, à 13:34
- moths-art
Re : [javascript] slideshow images et textes en pur javascript.
Certes, Jquery est un peu lourd quand on veut faire des choses triviales comme un slideshow effectivement.
Je me demande si il n'existerais pas un préprocesseur pour nettoyer le superflus...
Maintenant, comme mentionné plus haut : c'est cross-navigateur et ça c'est vraiment intéressant quand t'es en flux tendu pour sortir quelque chose... tu vas pas avoir encore des mauvaises surprises avec tel ou tel navigateur.
Et puis, tout dépend ton approche : si tu travailles dans le web par exemple, le client va te refaire un ajout qui lui paraîtra anodin et qui en réalité te demandera de sortir l'artillerie lourde en incluant Jquery.
Du coup, tu pesteras de ne pas l'avoir inclus d'office et éviter d'inutiles souffrances.
Perso, je l'inclus d'office maintenant... je ne m'embête plus.
(quand on regarde la place que ça occupe avec le plugin Firebug Yslow, je me dis que c'est souvent dérisoire face à des images, des polices etc. et puis faut se dire que c'est gardé dans le cache du navigateur)
Tu évoques le DOM mais en réalité Jquery a sa propre approche et il n'est plus vraiment nécessaire de connaître le DOM pour cela.(sauf si tu veux améliorer le framework ou créer des extensions)
ex : au lieu de document.getElementById(#monid), en Jquery tu utiliseras seulement $(#monid)
J'ai regardé les effets proposé par ce plugins, et il n'y a pas l'effet que j'utilise ici.
sisi mais c'est sur que c'est pas non plus servi sur un plateau.
L'idée d'apprentissage n'est pas mauvaise et ayant commencé en javascript bien avant Jquery, mon avis est sans doute biaisé. (la localisation du topic l'est peux-être moins...)
De toute façon, avant de se lancer tête baissé dans un framework, quel qu'il soit, il vaut mieux "bien" connaître le langage sous-jacent car on risque vite de déchanter dès qu'on commence à faire des choses pointus.
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
#7 Le 07/04/2012, à 10:37
- AnsuzPeorth
Re : [javascript] slideshow images et textes en pur javascript.
Maintenant, comme mentionné plus haut : c'est cross-navigateur et ça c'est vraiment intéressant quand t'es en flux tendu pour sortir quelque chose... tu vas pas avoir encore des mauvaises surprises avec tel ou tel navigateur.
Ce n'est pas négligeable, c'est sur ... Bien que dans qqles temps, logiquement, tout le monde devraient respecter la norme w3c ...Logiquement !
Tu évoques le DOM mais en réalité Jquery a sa propre approche
Vi, j'y ai déjà regardé un peu, je trouve que ca ressemble à elementTree (lib python pour le dom, mais de qui la poule ou l'oeuf). Et si mes souvenirs sont bons (pas sur là), on peut aussi utiliser la syntaxe Xpath avec jquery ?
Mais tu prêches un convaincu, je voulais juste faire qqles chose d'un peu plus gros qu'une simple fonction JS. Et bien m'en a pris, j'ai pu voir les petits incovenient des classes en JS. Par exemple le truc de _self = this, pour l'invocation de setTimeout en y passant des arguments. C'est un peu pret la même chose pour eval d'ailleurs !
Tiens, au sujet de eval, vu que tu dois toucher un peu en JS, j'ai un bug (ou plutôt une incompréhension).
Ce qui suit ne fonctionne pas.
t = 'this.'+this.currentElement.sliding+'SlidingLauncher';
eval(t);
Par contre, ce qui suit passe bien !!!
eval('this.'+this.currentElement.sliding+'SlidingLauncher')
Là, faut qu'on m'explique
Enfin bref, sinon, j'ai ajouté qqles animations différentes (fondu et 'growing'). J'avais mis en place le tout pour pouvoir ajouter plus d'options, mais c'est galère, bcp de code pour pas grand chose, alors je vais laisser tel que, ca suffira pour un simple slideshow.
Le code est plus propre, à mon gout. J'ai lu, je ne sais plus où, que l'accès aux propriétés d'un élément était très gourmand en ressource, alors j'ai réduit ces commandes au maximum dans ce code. Plus trop de répétion, mais c'est encore améliorable je pense (mais on perdrait en lisibilité)
Je verrais pour faire mieux avec jquery, plus tard ...
Le lien: http://gwebradio.googlecode.com/files/slideshow2.zip
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#8 Le 01/06/2012, à 12:00
- nerim
Re : [javascript] slideshow images et textes en pur javascript.
Bonjour,
Tout d'abord merci et bravo pour ce code
J'avais besoin d'un diaporama avec fondu enchainé pour le site de mon fils et je me suis lancé dans un développement en javascript que je connais assez mal. J'étais parti sur la piste de 2 div mais je ne m'en sortais pas vraiment. Quand je suis tombé sur votre code j'ai décidé de l'adapter à mon cas. Mais comme je ne maitrise pas du tout la programmation objet et les instanciations je n'ai pas voulu trop toucher à votre code.
J'ai réussi à supprimer le texte par une bidouille sur son emplacement et j'ai désactivé le player.
Puis j'ai ajouté un peu de php pour que le srcipt aille chercher automatiquement les images dans un dossier transmis en paramètre...
Et ça marche... sous Firefox, mais pas sous IE.
J'ai vu que dans la feuille de styles, la classe .back-trans intégrait à la fois
opacity:0.7;
et
filter:alpha(opacity=70);
J'ai donc ajouté dans la fonction opacitySlide
en plus de divStyle.opacity = op;
divstyle.filter=alpha(opacity=op*10);
mais cela ne donne rien
Je ne pense pas que ce soient mes modif qui sont en cause puisque sur votre site votre site le diaporama n'apparait pas sous IE.
Si vous avez une idée, je suis preneur.
Merci d'avance
Cordialement
Jean
PS : si vous voulez voir le résultat sous firefox, vous pouvez aller ici et aller sur le menu Galeries et Diaporama Gyspynoia
Hors ligne
#9 Le 02/06/2012, à 10:56
- AnsuzPeorth
Re : [javascript] slideshow images et textes en pur javascript.
Bjr,
Vi, je me doute que sous IE ca ne fonctionne pas, mais j'ai pas pu faire d'essais (sous wine, pas de JS), fait chier qd même que IE ne respecte pas le w3c ... (bien que IE > 9 le respecte mieux il parait ...!).
De plus, il y a eu un peu pret 500 download, et juste 4 ou 5 retour, donc dans ces conditions, dur de débuguer !
Bref, pour faire une simple animation, je pense que mon script est peut être un peu lourd (car il y a plusieurs effet, le text, le lecteur), alors que pour vous, un simple fondu est nécessaire. Regardez du coté de jquery, pour faire un simple fondu, c tres simple, il doit même y avoir des exemples tout fait sur le web, et plus de soucis avec IE !
Avec 2 div, pour un simple fondu, ca devrait suffire. z-index bien sur ...
Si vraiment vous n'y arrivait pas, j'essaierai de le faire vite fait, mais pas avant le milieu de semaine prochaine.
PS: pas mal le site ...
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#10 Le 05/06/2012, à 11:18
- nerim
Re : [javascript] slideshow images et textes en pur javascript.
Bonjour,
Merci pour votre réponse
Finalement, en m'inspirant du principe de votre script (2 div avec image de fond) j'ai écrit un petit script qui fonctionne sous IE6 et 9, opera, chrome et firefox.
En fait je n'utilise pas z-index : div1 est toujours au premier plan et l'opacité de div2 est toujours au maxi. Quand l'image est pleine (opacité maxi de div1), je copie le fond de div1 dans celui de div2 (l'opération ne se voit pas car div2 est cachée) puis je définit l'opacité de div1 à 0 et je place l'image suivante dans div1 (là encore l'opération ne se voit pas puisque div1 est invisible), l'opacité de div1 augmente...
le nom du dossier contenant les images, le temps de pause, le titre de la page et la durée du fondu sont passés en arguments à l'appel de la page diaporama.php.
Le script est visible sur la page diaporama.php accessible à partir de la page galeries (lien vers le site dans mon message précédent).
L'utilisation de bibliothèques de scripts telles que jQuery ou mootools est sans doute intéressante mais j'ai peur de ne pas pouvoir facilement y intégrer mon code PHP. Ceci dit, j'ai vu quelques exemples d'effets intéressants et je vais peut-être creuser dans cette direction.
Encore merci
Cordialement
Jean
Hors ligne
#11 Le 06/06/2012, à 00:12
- smo
Re : [javascript] slideshow images et textes en pur javascript.
hello ansuz !!
bah c'est cool ce petit projet pour te mettre au js je testerai des que possible sous ouindoz si tu veux que je taide a debugger...
je suis sur du js moi aussi en ce moment je dev un plugin de statistiques pour chrome
tres bien en tout cas bon courage pr la suite !!
++
Streamstudio, streaming youtube/dailymotion...: http://forum.ubuntu-fr.org/viewtopic.php?id=1299461 / http://streamstudio.me
Page facebook : https://www.facebook.com/streamstudio1?fref=ts
ubukey, createur ubuntu customisé: http://forum.ubuntu-fr.org/viewtopic.php?id=360408
ME PAYER UNE BIERE !! :D : http://gtk-apps.org/content/donate.php?content=138588
Hors ligne
#12 Le 06/06/2012, à 11:15
- AnsuzPeorth
Re : [javascript] slideshow images et textes en pur javascript.
Le script est visible sur la page diaporama.php accessible à partir de la page galeries (lien vers le site dans mon message précédent).
Lors d un passage d'une image à l'autre, ca fait comme un petit "acoup", il faudrait peut être faire un fade_in et un fade_out, pour avoir une progressivité !
L'utilisation de bibliothèques de scripts telles que jQuery ou mootools est sans doute intéressante mais j'ai peur de ne pas pouvoir facilement y intégrer mon code PHP. Ceci dit, j'ai vu quelques exemples d'effets intéressants et je vais peut-être creuser dans cette direction.
Ben non, y'a rien de particulier avec jquery et php, on sert une page html généré en php, on y mets ce que l'on veut ...
Une fois le script en place, ca serait peut être bien de le mettre en partage, ca pourrait servir
je testerai des que possible sous Windows si tu veux que je taide a debugger...
Si tu veux, mais entre nous, je m'en tape un peu de IE, surtout pour ce truc, c'etait surtout pour voir la POO en JS, donc bon ...
je suis sur du js moi aussi en ce moment je dev un plugin de statistiques pour chrome
Ah, les plugins chrome sont en JS ?! Intéressant ... Mais je préfére mon firefox qd même, qd chrome aura autant d'extensions que firefox, on verra pour changer (bien que d'être encore marié avec google, c'est pas vraiment agréable )
Et pis tu n'étais pas pro jquery ? Et tu te fais chier avec JS ... ?
bon courage pr la suite !!
Thx, toi aussi
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#13 Le 08/06/2012, à 23:06
- nerim
Re : [javascript] slideshow images et textes en pur javascript.
Bonjour
Lors d un passage d'une image à l'autre, ca fait comme un petit "acoup", il faudrait peut être faire un fade_in et un fade_out, pour avoir une progressivité !
Je pense qu'il doit s'agir d'un problème de temps de chargement des images puisqu'au 2ème passage (après un retour à la première image du cycle) l’a-coup disparait.
Je crois que je vais faire un "preload" de mes images
Cordialement
Jean
Hors ligne