Visionneuse d'images javascript avec liens et boutons [Résolu]

Messages postés
2
Date d'inscription
dimanche 24 octobre 2004
Statut
Membre
Dernière intervention
1 mars 2006
- - Dernière réponse : PetoleTeam
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
- 1 mars 2006 à 10:11
Bonjour





Pourriez vous répondre à un problème de programmation en javascript.
J'ai crée pour mon site une visionneuse d'image en javascript avec boutons et liens différents selon les images affichées.

Cependant, je rencontre un problème dans le changement de liens lorsqu'une image passe c'est toujours le même lien qui s'affiche.Logiquement la valeur de var numero devrait s'incrémenter au passage de l'image. Lors de l'execution de la boucle de condition si la valeur est 2 alors on doit aboutir au lien correspondant.

Voilà mon code, merci pour votre aide
MARC
------------------------------------------------------------

c'est un problème d'incrémentation de la variable numero. En fait le code qui s'affiche est tjs :





else if (numero = = 1)
{
link="http://www.ac-dijon.fr/beta/article.php3?id_article=31" ;


}


______________________________________________





Voici le code ci-dessous :var numero est par défault="1"





<head>


<script language ="JavaScript">
<!--





var bauto = 0;
var dossier="swf/";
var numero = 1;
function objet() {
this.length = objet.arguments.lengthfor (var i 0; i < this.length; i++) this[i+1] objet.arguments[i]
}
var nom = new objet ("img2.jpg", "img1.jpg");
function suivante() {
numero += 1;if (numero nom.length + 1) numero 1;
document.image.src = dossier+nom[numero];
}
function precedente() {
numero -= 1;if (numero 0) numero nom.length;
document.image.src = dossier+nom[numero];
}
function changer() {
numero += 1;if (numero nom.length + 1) numero 1;
document.image.src = dossier+nom[numero];
roll=setTimeout("changer()", 4000);
}
function initial() {
window.clearTimeout(roll);
document.image.src = dossier+nom[numero];
}
function auto() {
if (bauto == 0) {
bauto =1; changer();





}
else {
bauto =0; initial();





}
}
//-->





<!--
if (numero == 2)
{
link="http://www.ac-dijon.fr/beta/article.php3?id_article=30";
}
else if (numero == 1)
{
link="http://www.ac-dijon.fr/beta/article.php3?id_article=31" ;
}
else
{
link="index.html";
}


</head>


Voici la gestion de l'affichage dans body :








<form name ="vision" align="middle">

L'Actualit&eacute; en Images ... &nbsp;&nbsp;&nbsp;














&nbsp;&nbsp;&nbsp;



[javascript:document.location(link) ]
</form>
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
9
3
Merci
B
onjour...

Normal avec les copier coller on en oublie des fois l'essentiel à savoir

//-- on envoi la purée
document.location(link); est FAUX

document.location = link; est JUSTE

en effet
document.location est une variable est non une fonction...
alors que
document.location.replace( link) est bien une fonction...

;0)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 138 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PetoleTeam
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
9
0
Merci
B
onjour...

en regardant le code, il n'y a pas de prise en compte de l'incrémantation de ta var numero puisque tes link sont affectés à l'ouverture du script et donnerons donc toujours 1. Suis je assez clair ????

Donc il serait souhaitable que tu crées un fonction Charge_Fichier du type

function Charge_Fichier(){
var link="index.html"; // valeur par défaut

if (numero == 1)
link="http://www.ac-dijon.fr/beta/article.php3?id_article=31" ;

if (numero == 2)
link="http://www.ac-dijon.fr/beta/article.php3?id_article=30";

//-- on envoi la purée
document.location(link);
}

et que tu modifies ta balise [javascript:Charge_Fichier() ]

dans ce cas l'incrémentation de la variable numero sera prise en compte

;0)
Commenter la réponse de PetoleTeam
Messages postés
2
Date d'inscription
dimanche 24 octobre 2004
Statut
Membre
Dernière intervention
1 mars 2006
0
Merci
Bonjour et Merci pour ton aide ! J'ai suivi tes instructions cela marche pour l'incrémentation lorsque l'on indique document.write(link); (cela écrit l'adresse dans une page blanche)

Pour document.location la debug m'affiche : Cet objet ne gère pas cette action.

MARC
;-)
Commenter la réponse de marcmebtouche