HTML + Javascript: Dynamique de l'Image Redimensionner?
Je suis en train d'essayer d'obtenir quelques JavaScript
de programmation pour régler un HTML img
tag de la largeur de l'affichage de plusieurs images de taille correctement.
J'ai une largeur fixe img
balise à 800px
pour afficher une image, c'est la largeur max.
Si l'image est plus large puis 800px
je veux l'afficher à 800px
de large;
Si l'image est de moins de 800px
large je veux préserver sa largeur afin d'éviter l'étirement il.
J'ai utiliser ce code html/javacript code pour obtenir une solution partielle:
JS:
function resize_image(id) {
var img = document.getElementById(id);
var normal_width = img.width;
img.removeAttribute("width");
var real_width = img.width;
if (real_width < normal_width) {
img.width = real_width;
} else {
img.width = normal_width;
}
}
HTML:
<img id="myimage" onload="resize_image(self.id);" src="https://via.placeholder.com/350x150" width="800" />
Le code ci-dessus semble fonctionner sur tous les navigateurs que j'ai testé à l'exception Safari
(les images ne s'affichent pas, sauf si vous actualisez la page).
Je sais que je peux utiliser les CSS max-width
mais qui ne fonctionneront pas sur IE
< 7, qui est un show stopper.
Comment puis-je obtenir ce travail pour tous les navigateurs? Merci beaucoup à l'avance.
Vous devez vous connecter pour publier un commentaire.
Je n'ai jamais vu un safari dans le travail, mais vous pouvez essayer de changer votre événement onload pour cela:
Il se pourrait que, sans une valeur de retour, safari pense que cet objet ne doit pas être chargé.
Utiliser le IE6 css+javascript hack:
Sans id:
Avez-vous essayé de singe avec
img.style.width
? Vous pouvez également essayer d'avoir 2 classes CSS pour chacun des 2 conditions et programmaticly les changer.