2012-06-26 3 views
0

Я использую следующий код, чтобы проверить, если ширина изображения больше, чем 700. Если в случае, то я хочу, чтобы установить его на 700javascript - изменить ширину изображения?

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

после некоторого поиска я нашел код выше, но не работает. Скажи мне, что я делаю неправильно?

ответ

2

Попробуйте с style:

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

Если вы установили width атрибут, то вы бы использовать getAttribute('width') и setAttribute(700) или непосредственно width, как вы делали. Но если это исходит из CSS, вам нужно будет использовать style, как показано выше.

+0

Этот код работает, но изображение первой загрузки в очень больших размеров, то она становится повторной размером до 700. В любом случае я могу исправить эту проблему? – user1481850

+0

@ user1481850: Попробуйте указать начальную ширину, используя атрибут css или 'width', например' Blaster

+0

Что делать, если у меня есть изображение шириной менее 700? – user1481850

0

Возможно, проблема связана с тем, что вы запускаете скрипт до того, как элемент существует на странице. Попробуйте изменить скрипт и тег img.

2

использование «main_image» вместо main_image

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

или вы можете использовать стиль также

document.getElementById("main_image").style.width = "700px"; 
Смежные вопросы