Diaporama ne fonctionne pas - - HTML/CSS - Programmation
Marsh Posté le 16-04-2007 à 15:15:02
Code :
|
Marsh Posté le 16-04-2007 à 18:41:09
Re Bonjour,
En fait, ce n'ai pas exactement ce que je voulais faire.
Je voudrais passer en paramètre la valeur de mon image +1 quand j'appuie sur le bouton suivant. Comme ça la fonction va afficher le numéro de l'image suivante (ce qui a été envoyé en paramètre).
Pouvez-vous regarder mon code svp (du 1er post), c'est ce que je voulais faire mais ça ne fonctionne pas.
Merci
Marsh Posté le 16-04-2007 à 18:59:35
Tu ne pourras pas faire de la façon demandée en pur js.
Le problème est que la fonction est appelée lors de l'evenement sur le click d'un bouton. Or ce bouton n'a aucun moyen de connaitre le "paramètre suivant".
Et de toute façon ça n'aurait pas d'intérêt.
D'ou l'idée ( de feignant certes mais toute à fait fonctionnelle) de passer par une variable globale qui s'incrémente.
Et rien ne t'empêche de te servir de la variable numero ailleurs ( enfin après l'affectation de src, sinon tu aura en fait numéro-1)
Pour ma culture, tu peux m'expliquer d'ou provient l'obligation de passer un paramètre à cette fonction???
Marsh Posté le 16-04-2007 à 19:07:17
remarque tu peux utiliser ta fonction plus une variable globale, ça marchera très bien et ça sera peut-être plus proche de la syntaxe que tu esperais
Code :
|
Mais je comprends toujours pas l'intérêt...
Marsh Posté le 16-04-2007 à 19:16:28
Salut,
En fait je voulais envoyer à la fonction le nom de la photo+1 à la fonction qui va afficher l'image quand j'appuie sur le bouton précédent. Pour le bouton précédent, j'aurai fait le contraire.
Marsh Posté le 16-04-2007 à 19:17:24
Grâce à toi, ça marche merci.
Mais je dois avouer que j'ai quand même des difficultés à comprendre le code. Je reviendrai demain en parler.
Merci de ton aide en tout cas.
Marsh Posté le 17-04-2007 à 15:39:37
Bonjour,
Il y a quelque chose que je ne comprends pas. Quand j'appele ma fonction, j'envoie i+1, comment le programme connaît-il la position actuelle de i ? Est-ce que c'est grâce au i+.'jpg' qui est affecté à image.src ?
Merci d'avance
Marsh Posté le 17-04-2007 à 15:48:30
i est une variable initialisée à 1 que tu incrémentes dès que tu cliques sur ton bouton parce que tu passes par la fonction affiche.
Marsh Posté le 17-04-2007 à 15:52:40
Justement je ne comprends pas comment i est incrémenté puisque on passe i+1 à la fonction mais la variable i déclarée ne bouge pas elle ?
Marsh Posté le 17-04-2007 à 15:55:39
function affiche(numero){
i = numero;
là numero c'est i+1 car tu as onclick="affiche(i+1)"
Marsh Posté le 17-04-2007 à 15:57:11
D'accord et quand je clique encore pour afficher le bouton suivant, comment le programme connaît-il la position de i ?
Marsh Posté le 17-04-2007 à 15:57:40
moi je comprends toujours pas l'interêt
edit: MAIS TU LUI AFFECTES LA POSITION DU PARAMETRE DE LA FONCTION AFFICHE QUAND TU FAIS
Code :
|
Si on prends dans l'ordre
Marsh Posté le 17-04-2007 à 15:59:22
Je voulais afficher un bouton précédent et un autre suivant. Le bouton suivant envoie en paramètre i-1 à la fonction qui affiche la photo précédente et faire le contraire en appuyant sur le bouton suivant
Marsh Posté le 17-04-2007 à 16:01:50
Ah ok d'accord cette fois j'ai compris.
Merci de votre patience, je suis débutant.
Marsh Posté le 17-04-2007 à 16:03:43
Tu es con ou tu es con :
Donc math niveau 6éme :
Tu as :
i=1
lalalala ça tourne
j'envoie i+1 à numero :
numero = 1+1 (on se la joue doucement au début)
numero = 2 (si si je te jure)
et là magie
i = numero (Ben alors vue que numero = 2, i est égal à....oui je te le fais pas dire i = 2, mais non pourquoi tu mens)
Donc i=2
Et là on se là refait une fois, en copier coller bien sur :
-----------
Tu as :
i=2
lalalala ça tourne
j'envoie i+1 à numero :
numero = 2+1 (on se la joue doucement au début)
numero = 3 (si si je te jure, je sais ça devient plus dur que tout à lheure, avec ces gros nombres)
et là magie
i = numero (Ben alors vue que numero = 3, i est égal à....oui je te le fais pas dire i = 3, mais non pourquoi tu mens)
Bon tous ça pour dire, je te prend pas pour un débile, mais bon, la programmation, c'est pas magique, ce sont des humains qui ont créés les langages, avec un raisonnement humain.
Donc à part si tu me dis, que tu es en CP, je peux rien faire d'autre pour toi....
EDIT:GRILLED
Marsh Posté le 17-04-2007 à 16:05:46
Code :
|
de tête, pas tester
Mais au moment t'as pas besoin de te trimballer ce i dans l'appel d'affiche!
Marsh Posté le 17-04-2007 à 16:17:26
Non, je ne suis pas totallement débile xtof_83 je te rassure, mais j'ai eu une petite confusion au sujet des variables. En effet, je pensais qu'à l'intérieur d'une fonction, on je pouvais pas faire référence à une variable qui n'était pas déclarée dans cette même fonction.
C'est pourquoi je ne comprenais pas du tout pourquoi on me parlait de modifier la valeur du i.
La confusion est levée, merci à vous.
Marsh Posté le 17-04-2007 à 16:23:47
Comme à dis anapajari, on appelle ça une variable globale
Après c'est vrai que ça marche pas comme ça dans tout les langages.
Marsh Posté le 17-04-2007 à 16:27:41
C'est par là qu'on aurait du commencer, ça aurait été plus rapide.
En tout cas, merci.
A+
Marsh Posté le 17-04-2007 à 16:30:18
Dede86 a écrit : C'est par là qu'on aurait du commencer, ça aurait été plus rapide. |
anapajari a écrit : Tu ne pourras pas faire de la façon demandée en pur js. |
edit: xtof_83> perso les scopes de variables en js je les trouves "normaux". Global<=>window, après local<=>function(objet) ...
Marsh Posté le 17-04-2007 à 16:31:47
Bah au moins t'essayes de comprendre, c'est l'essentiel je trouve
Marsh Posté le 17-04-2007 à 17:18:37
anapajari a écrit : |
Pas dis le contraire
Marsh Posté le 16-04-2007 à 15:05:10
Bonjour,
J'ai fait un diaporama en Javascript qui ne fonctionne pas. Ce diaporama possède juste un bouton suivant (c'est un essai). Losque l'utilisateur appuie sur le bouton, l'image s'incrémente (mes images portent le nom : 1, 2, 3... donc je n'ai pas fait de tableaux d'images mais j'ai crée une fonction qui incrémente le nom de l'image pour pouvoir l'afficher).
J'utilise le navigateur Firefox 2 et lorsque je regarde dans la console
d'erreur ce que ne va pas, il y a un message : i n'est pas définit.
Pouvez-vous jeter un oeil à mon code ?
<html>
<head>
<title>Diapo</title>
<script language="JavaScript">
function affiche(numero)
{
i = numero;
image.src = i+'.jpg';
}
</script>
</head>
<body>
<img src="1.jpg" name="image">
<input type="button" value=">" OnClick="affiche(i+1);" >
</body>
</html>