Visionneuse d'images javascript avec liens et boutons

Résolu
marcmebtouche Messages postés 2 Date d'inscription dimanche 24 octobre 2004 Statut Membre Dernière intervention 1 mars 2006 - 28 févr. 2006 à 15:15
PetoleTeam Messages postés 3426 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>

3 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
1 mars 2006 à 10:11
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)
3
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
1 mars 2006 à 08:27
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)
0
marcmebtouche Messages postés 2 Date d'inscription dimanche 24 octobre 2004 Statut Membre Dernière intervention 1 mars 2006
1 mars 2006 à 09:46
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
;-)
0