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

marcmebtouche 2 Messages postés dimanche 24 octobre 2004Date d'inscription 1 mars 2006 Dernière intervention - 28 févr. 2006 à 15:15 - Dernière réponse : PetoleTeam 3435 Messages postés lundi 26 décembre 2005Date d'inscription 14 janvier 2011 Dernière intervention
- 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 

Votre réponse

3 réponses

Meilleure réponse
PetoleTeam 3435 Messages postés lundi 26 décembre 2005Date d'inscription 14 janvier 2011 Dernière intervention - 1 mars 2006 à 10:11
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)

Merci PetoleTeam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de PetoleTeam
PetoleTeam 3435 Messages postés lundi 26 décembre 2005Date d'inscription 14 janvier 2011 Dernière intervention - 1 mars 2006 à 08:27
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
marcmebtouche 2 Messages postés dimanche 24 octobre 2004Date d'inscription 1 mars 2006 Dernière intervention - 1 mars 2006 à 09:46
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.