2012-03-19 2 views
0

Это мой коднужно уменьшить высоту изображения с помощью JavaScript

<div data-role="page" id="callAjaxPage"> 

    <img id="logo" src="images/logo.JPG" alt="logo" /> 

    <div data-role="header"> 
     <h1>Login</h1> 
    </div> 

    <div data-role="content"> 
     <form id="callAjaxForm" data-ajax="false"> 
      <div data-role="fieldcontain"> 
       <label for="userName" id="userNameLabel">Username</label> <input 
        type="text" name="userName_r" id="userName" value="" /> <label 
        for="password" id="passwordLabel">Password</label> <input 
        type="password" name="password_r" id="password" value="" /> <br /> 

       <button data-theme="b" id="submit" type="button">Submit</button> 
      </div> 
     </form> 
    </div> 
</div> 

В этом коде у меня есть изображение, которое является логотипом. Мне просто нужно уменьшить высоту изображения. Я попытался вручную установить высоту, чтобы сказать 150 пикселей, но происходит то, что высота уменьшается, но моя ширина также уменьшается. Даже если я жестко закодировал свою ширину, все равно она уменьшится. Проблема может быть, изображение небольшое. Я также попытался разместить его в div, и я вручную установил соответствующую высоту и ширину, но концепция div уменьшает изображение. Я не хочу, чтобы изображение было разрезано или что-то в этом роде. Я просто хочу, чтобы он сжимался по высоте. Я не забочусь о качестве. Как это сделать?

+0

Кажись все три тока suggesti по этому вопросу должен работать. Кажется, у вас может быть другая проблема - возможно, с CSS или, возможно, с изменением размера с тайм-аутом. – mplungjan

ответ

2

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

, например DEMO

$(document).ready(function() { 
    var img = $("#logo"); 
    var width = img.width(); 
    alert(width); 
    img = $('<img height="250" width="'+width+'" alt="'+img.attr("alt")+'" src="'+img.attr("src")+'"/>') 
    $("#logo").replaceWith(img); 
}); 
+1

Lol Image in Fiddle: P –

+0

Он принадлежит @Jon – mplungjan

+0

Да, это было бы мое изображение, которое вы осмеливаетесь. :) –

1

Вы можете установить ширину и высоту отдельно, используя атрибут style.

Например:

<img style="height:40px;width:300px;" src=0NfSJ.jpg> 
+0

Я пробовал это. Поскольку изображение маленькое. Изображение не распространяется на ширину, которую мы даем ... –

+0

Это стандартный способ, и он работает. У вас должна быть другая проблема. Можете ли вы помещать вашу страницу, отображающую проблему в Интернете где-нибудь? –

2

Вы можете сделать это в CSS.

#logo { 
    width: 80px; 
    height: 30px; 
} 

Или если вы хотите изменить размер изображения динамически с помощью javascript.

$("#logo").attr("width", $("#logo").width()); 
$("#logo").attr("height", 30); 
+0

Будет ли последнее не изменять размер в два раза, сохраняя соотношение сторон одновременно? – mplungjan

+0

Nah, он устанавливает атрибуты высоты и ширины в теге изображения отдельно. Тот же эффект, что и жесткое кодирование атрибутов. Это станет красиво искаженным. Вот так: http://jsfiddle.net/TA6Qu/2/ –

+1

Тогда я не понимаю проблему OPs - нам нужно увидеть код, который он использовал с вашего (что я рассматривал и отбрасывал из-за проблем с OPs) намного проще, чем мой , Так +1 к вам – mplungjan

0

Вы просто указать ширину и атрибуты высоты, и изображение будет будет отображаться в том, что размер:

<img id="logo" src="images/logo.JPG" alt="logo" width="300" height="20" /> 

Вот демо 5х5 изображения отображаются в виде 300x20: http://jsfiddle.net/Guffa/A9pAP/

Смежные вопросы