2012-06-26 13 views
0

J'utilise le code suivant pour vérifier si la largeur d'une image est supérieure à 700. Si ce le cas, alors je veux le mettre à 700javascript - changer la largeur de l'image?

<img src="" id="main_image"> 
<script> 
    if(document.getElementById(main_image).width > 700) { 
    document.getElementById(main_image).width = 700; 
    } 
    </script> 

après quelques recherches, j'ai trouvé le code ci-dessus, mais il ne fonctionne pas. Dites-moi ce que je fais mal?

Répondre

2

Essayez avec style:

window.onload = function() { 
    if(+(document.getElementById('main_image').style.width) > 700) { 
     document.getElementById('main_image').style.width = '700px'; 
    } 
}; 

Si vous avez défini width attribut alors vous utilisez getAttribute('width') et setAttribute(700) ou directement width que vous faisiez. Mais si cela vient de CSS, vous devrez utiliser style comme indiqué ci-dessus.

+0

Ce code a fonctionné, mais l'image est d'abord le chargement en très grand alors il devient de re taille à la largeur de 700. De toute façon je peux résoudre ce problème? – user1481850

+0

@ user1481850: Essayez de spécifier la largeur initiale en utilisant l'attribut css ou 'width' comme' Blaster

+0

dans le cas où j'ai une image dont la largeur est inférieure à 700? – user1481850

0

Votre problème est probablement dû au fait que vous exécutez le script avant que l'élément existe sur la page. Essayez d'inverser le script et la balise img.

2

utilisation « main_image » au lieu de main_image

<script> 
if(document.getElementById("main_image").width > 700) { 
document.getElementById("main_image").width = 700; 
} 
</script> 
<img src="" id="main_image"> 

ou vous pouvez utiliser le style aussi

document.getElementById("main_image").style.width = "700px"; 
Questions connexes