Bonjour,
Je redimensionne une image puis l'affiche dans un div par appendChild en utilisant un id.
Le problème est que si la page est actualisée par F5 ou si je reviens sur cette page l'image ne s'affiche plus... pourtant la fonction removeChild semble fonctionner ... et l'activer avec <body unload="DeleteChild()" ne change rien.
Merci de vos propositions...
Code removeChild peut être déficient ou problème d'Events ?:
Code source complet (sans les images jpg)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function DeleteChild() { var d = document.getElementsByTagName("div"); for (var i = d.length - 1; i >= 0; i--) { d[i].parentNode.removeChild(d[i]); } d = null; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 <!DOCTYPE html> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <!-- saved from url=(0013)about:internet --> <html> <head> <style> body { height:100%; display:table; width:100%; background-color: #A9A9A9; } div { margin:0 auto; } img { margin-left: auto; margin-right: auto; display: block; border: 2px solid #bbb; padding: 20px; box-shadow: 0 0 0 16px #fff inset, 5px 5px 5px #888; } </style> <script type="text/javascript"> function resizeImg(urlImage, EcranW, EcranH, MyId){ var photo = new Image(); photo.src = urlImage; photo.onload = function() { // Taille originelle de la photo var imgW = photo.width; var imgH = photo.height; ratioH = EcranH / imgH; ratioW = EcranW / imgW; if (ratioH < ratioW || imgH == imgW) { imgH = Math.floor(imgH * ratioH) ; imgW = Math.floor(imgW * ratioH); } else { imgH = Math.floor(imgH * ratioW); imgW = Math.floor(imgW * ratioW); } // Nouvelle Taille proportionnelle en fonction taille écran photo.width = imgW; photo.height= imgH; // Générer image dans le div choisi document.getElementById(MyId).appendChild(photo); } } function DeleteChild() { var d = document.getElementsByTagName("div"); for (var i = d.length - 1; i >= 0; i--) { d[i].parentNode.removeChild(d[i]); } d = null; } resizeImg('HD_H.jpg',900, 600,'ImageH'); resizeImg('HD_V.jpg',900, 600,'ImageV'); </script> </head> <body> <p><a href="javascript:DeleteChild()">Deleter Child</a></p> <p>Image Horizontale fonction de la taille écran </p> <div id="ImageH"></div> <p>Image Verticale fonction de la taille écran</p> <div id="ImageV"></div> </body> </html>
Partager