changer d'image à chaque actualisation - HTML/CSS - Programmation
Marsh Posté le 17-03-2005 à 22:38:24
Il faut par exemple un script PHP qui va tirer un nombre aléatoire, et suivant le nombre, mettre une image différente.
Marsh Posté le 17-03-2005 à 22:40:20
Est-ce que tu peut être un peu plus précis. On peut pas le faire en javascript ?
Marsh Posté le 17-03-2005 à 22:43:30
La chose n'a aucun intérêt en JS (c'est une mauvaise utilisation de l'outil), ce genre de trucs est à faire server-side en PHP/ASP/JSP/Autre
Marsh Posté le 17-03-2005 à 22:56:00
http://www.php.net/manual/fr/tutorial.firstpage.php
+
http://www.php.net/manual/fr/language.types.array.php
+
http://fr2.php.net/manual/fr/function.rand.php
Marsh Posté le 17-03-2005 à 23:00:13
On est obligé de faire ça en php ? Ya pas une autre technqiue en html
Marsh Posté le 17-03-2005 à 23:03:20
En même temps, à supposer que l'image est décorative, je vois pas le mal de changer la source d'une image en JS hein ?
Marsh Posté le 17-03-2005 à 23:03:47
Le HTML ne permet pas de le faire, le Javascript n'est pas fait pour ça (vraiment pas).
Après, si t'aimes pas le PHP tu peux le faire en ASP, en JSP, en CGI/Perl, en CGI/Python, ...
Mais c'est largement plus dûr de trouver un hôte qui propose ce genre de trucs que du PHP tout bateau
Marsh Posté le 17-03-2005 à 23:05:38
fastclemmy a écrit : En même temps, à supposer que l'image est décorative, je vois pas le mal de changer la source d'une image en JS hein ? |
Bah autant le faire en PHP, c'est pas plus dure (c'est même plus facile), et ça fait profiter tout le monde
Marsh Posté le 17-03-2005 à 23:10:43
FlorentG a écrit : Bah autant le faire en PHP, c'est pas plus dure (c'est même plus facile), et ça fait profiter tout le monde |
Mouaich, je persiste à penser que la réponse à la question n'est pas aussi définitive que les quelques messages plus haut...
Marsh Posté le 17-03-2005 à 23:28:10
fastclemmy a écrit : Mouaich, je persiste à penser que la réponse à la question n'est pas aussi définitive que les quelques messages plus haut... |
Comme tu l'as déjà sous-entendu en liant certains sites sur ton blog, le Javascript représente l'aspect comportemental/réactif d'une page, un changement d'image au chargement n'en fait pas vraiment partie, ou alors de très très loin
Marsh Posté le 18-03-2005 à 00:10:18
Mon interprétation personnelle du champ d'action du javascript comprend à la fois l'aspect interactif du site (ouvrir une info dans une popup plutôt que dans une page complète, tout en laissant la possibilité de le faire) mais aussi l'aspect présentationnel.
En ce sens, émuler un min-width sous IE avec un petit bout de script afin de rendre un site plus agréable à lire est justifié (il s'agit uniquement d'un artifice graphique).
Dans la même logique de présentation il me paraît assez sensé que ce soit javascript qui t'affiche aléatoirement une image (illustrative). C'est une fioriture graphique, complètement inutile, donc je ne vois pas pourquoi ça serait au serveur d'en supporter la charge... La personne n'a pas javascript ? Et bien il a l'image par défaut, pas de souci.
Marsh Posté le 18-03-2005 à 00:27:09
fastclemmy a écrit : En ce sens, émuler un min-width sous IE avec un petit bout de script afin de rendre un site plus agréable à lire est justifié (il s'agit uniquement d'un artifice graphique). |
Ca me semble plus faire partie du champ comportemental, surtout si l'émulation est générique, que graphique (on aurait du mal à considérer qu'IE7 est "graphique" alors qu'il ne fait qu'émuler des interprétations graphiques...)
Citation : Dans la même logique de présentation il me paraît assez sensé que ce soit javascript qui t'affiche aléatoirement une image (illustrative). C'est une fioriture graphique, complètement inutile, donc je ne vois pas pourquoi ça serait au serveur d'en supporter la charge... |
Là, le problème pour moi c'est que je n'ais aucun argument logique à apporter
Uniquement de l'idéologique (pourquoi serait-ce à moi de supporter la charge de la fioriture graphique que tu m'impose?)
Marsh Posté le 18-03-2005 à 15:21:12
Eric, voici une solution satisfaisante :
- l'image change régulièrement sans recharger la page, par exemple toutes les 120 secondes ou bien toutes les 600 secondes
- on a donc un comportement et l'utilisation du javascript est justifiée
- puisque l'image change régulièrement - mais pas assez rapidement pour que toutes les images soient vues en une consultation de la page - autant les mélanger à chaque consultation de la page, cad que la 1ère est tirée aléatoirement
De cette manière :
- les puristes du JS acceptent que tu utilises leur language de prédilection pour ton projet et écartent la possibilité d'utiliser PHP
- la plupart des internautes voient une image différente au chargement de la page
Marsh Posté le 18-03-2005 à 15:58:35
qui dit actualisation dit appel au serveur (si je ne m'abuse). Faire ce que tu veux faire en javascript implique que tu charges toutes les images potentiellement affichables (un seule fois certes mais quand même). Pour peu que t'en ai bcp ou qu'elles soit lourdes, tu risques de ralentir considerablement le temps du premier accès à ta page
Marsh Posté le 18-03-2005 à 17:34:24
Je voulais juste, sachant que je ne pourait pas toujours mettre mon site à jour, qu'une image différente se charge à chaque fois. Peut-être que le titre "changer d'image à chaque actualisation" n'était pas très explicite.
Marsh Posté le 18-03-2005 à 17:58:29
et sachant que l'image fait partie de la structure de la page et est un des éléments principaux.
Marsh Posté le 18-03-2005 à 18:19:09
Par exemple :
Code :
|
Sinon t'as :
http://www.dyn-web.com/javascript/ [...] -rand.html
http://javascript.internet.com/mis [...] tator.html
http://www.hypergurl.com/randomimage.html
Bref, t'as le choix en Javascript
Marsh Posté le 18-03-2005 à 18:40:00
Il faut placer ton code où entre <body> et </body> ou avant </head> ?
Marsh Posté le 18-03-2005 à 19:07:12
J'ai trouvé un code pour changer l'image chaque jour :
Entre <head> et </head>
Citation : <SCRIPT LANGUAGE="JavaScript"> |
entre <BODY> et </BODY>
Citation : <SCRIPT LANGUAGE="JavaScript"> |
Mais comment mettre ensuite l'image en position absolue ?
Marsh Posté le 18-03-2005 à 20:38:54
Ne pas passer par un "document.write"...
Regarde plutot du code de "document.getElementById".
Marsh Posté le 21-03-2005 à 10:49:17
eric251 a écrit : J'ai trouvé un code pour changer l'image chaque jour :
|
<script type="text/javascript"> [...] |
document.getElementById('random').src = imagealeatoire(); |
<body> [...] |
#random { border: 0; |
Avec ça, ça va être déjà mieux. Mais je persiste qu'il faut faire ça côté serveur pour en faire profiter à tout le monde
Marsh Posté le 17-03-2005 à 22:37:29
Comment changer d'image à chaque actualisation tout en la placçan en position absolue ?