2010-03-18 3 views
1

J'essaie de mettre à jour une image dans une fenêtre parent avec des liens cliquables dans une fenêtre enfant. J'ai préchargé les images dans la fenêtre parent avec un fichier javascript. "scriptss.js" Mon problème est que j'ai besoin d'accéder aux images préchargées de la fenêtre parent avec le script "scriptremote.js" Merci encore pour tout l'aide de JS! La JS (scriptss.js)Accès aux images préchargées à partir du script parent également utilisé dans un script enfant. Comment?

var newWindow = null; 
window.onload = init; 
var i = 0; 
image_object = new Image(); 
myImages = new Array(); // declare array 
myImages[0]="images/img1.jpg" // load array 
myImages[1]="images/img2.jpg" 
myImages[2]="images/img3.jpg"  
myImages[3]="images/img4.jpg" 
myImages[4]="images/img5.jpg" 
myImages[5]="images/img6.jpg" 

Voici le code HTML pour fenêtre parent:

<img src="" width="200px" height="200px" id="myimage" name="myimage" /></img> 

Voici la JS pour fenêtre enfant:

window.onload = init; 

function init() 
{ 
} 

function first_image() 
{ 
window.parent.image_object.src = myImages[3]; //Problem happens here I think 
document.getElementById("myimage")window.parent.src = window.parent.image_object.src; 

} 

La fenêtre enfant HTML

<h1>My Remote</h1> 
<a href="#" id="first" onclick="first_image()" >First Image</a> 
</br> 

Répondre

0

Dans la fenêtre de votre parent, vous n'êtes pas préchargement réellement vos images. Pour précharger vous devriez faire quelque chose comme ceci

myImages = new Array(); // declare array 
myImages[0] = new Image() 
myImages[0].src = "images/img1.jpg" 
//etc... 

Maintenant vous avez un tableau d'objets Image.

la fenêtre de votre enfant (je suppose un iframe?) Vous pouvez référencer ces objets et attribuer l'attribut src à votre image chez les parents DOM comme celui-ci

window.parent.document.getElementById('myImage').src = window.parent.myImages[n].src; 
// where n is the index of the image you want to display 

Si la fenêtre de votre enfant est un popup alors remplacez parent avec opener Aussi vous n'avez pas besoin d'une étiquette de fermeture pour <img />, c'est la fermeture automatique

+0

NICE! merci d'avoir rattrapé l'erreur de précharge! juste dois comprendre ma boucle afin que je puisse mettre en place la fonction d'image suivante et je suis tout ensemble – Matt

0
window.parent.image_object.src = myImages[3]; 

ressemble il devrait être

window.parent.image_object.src = window.parent.myImages[3]; 

Depuis deux image_object et myImages sont définis dans le même fichier JS. La ligne après que l'on ne regarde pas droit soit:

document.getElementById("myimage")window.parent.src = 
               window.parent.image_object.src; 
Questions connexes