2013-01-22 5 views
1

J'essaie d'ouvrir une image dans une nouvelle fenêtre en cliquant dessus. Mais je n'arrive pas à comprendre où mon code est faux. Toute solution?Afficher l'image dans une nouvelle fenêtre

function largePic(){ 

var imageNumber = document.getElementById("img2"); 
imageNumber = this.getAttribute('src').split(".", 1); 
window.open(imageNumber[0] + "zlatan-stor.jpg"); 

} 
+0

vous faites actuellement this.getAttribute, essayez imageNumber.getAttribute ('src'). Split (".", 1); –

+0

avez-vous essayé d'enregistrer l'URL que vous essayez d'ouvrir ('console.log')? Que se passe-t-il si vous venez de créer l'URL créée dans la ligne d'adresse du navigateur? Pouvez-vous ouvrir une autre URL non liée avec 'window.open'? –

+0

l'image précédente, sur laquelle je clique, n'est pas remplacée par la nouvelle. file: /// C: /Users/Walid/Desktop/Skola/Webbteknologi-Databaser/Delkurs2/Inl%C3%A4mning6/zlatanzlatan-stor.jpg, comme vous pouvez le voir zlatan reste, puis venez zlatan-stor.jpg. et je n'ai pas de fichier appelé zlatanzlatan-stor.jpg – DrWooolie

Répondre

1

Vous devriez essayer de changer "this.getAttribute('src').split(".",1);" à

imageNumber.getAttribute('src').split(".",1); 
+0

il a ouvert une nouvelle fenêtre, mais l'image ne s'affiche pas. J'obtiens une erreur au lieu qu'il ne pourrait pas trouver l'image. – DrWooolie

+0

Quelle est l'URL de l'ouverture de la fenêtre? Prehaps vous devriez essayer "http: //" + imageNumber [0] + 'zlatan-stor.jpg "comme l'url de la fenêtre –

+0

la situation est qu'il ne remplace en quelque sorte l'image précédente, que je suis en cliquant sur. Comme vous pouvez le voir, il porte le nom de l'image précédente, zlatan, et ensuite le nouveau zlatam-stor.jpg – DrWooolie

0

Etes-vous sûr # img2 est celui qui est cliqué? Si ce n'est pas seulement le faire comme ceci:

function largePic(){ 

    var imageNumber = document.getElementById("img2"); 
    var link = imageNumber.getAttribute('src').split(".", 1); 
    window.open(link[0] + "zlatan-stor.jpg"); 

} 

cette ne fonctionnera que si la fonction est appelée en ligne (que vous ne devriez pas le faire, vous devez avoir votre code js dans un fichier séparé)

+0

L'homme qui était ma réponse haha ​​:-) Ravi de vous revoir Skatox –

+0

Oui, l'ID est img2 Zlatan mais il ne trouve pas l'image, ouvre simplement une nouvelle fenêtre – DrWooolie

0

Cette question est très similaire à la vôtre.

Je pense que le principal problème avec votre code est que window.open attend une URL et une n'est pas fournie. La réponse à ce lien devrait vous permettre de séparer le code dans un fichier externe, ce qui, comme l'a mentionné @Skatox, est une bonne pratique.

+0

J'ai ce code js dans un fichier séparé. et puis j'appelle la fonction où l'img est, comme ceci. Zlatan DrWooolie

Questions connexes