Jump to content
  • 0

Не могу найти ошибку


AzatSh
 Share

Question


....
<head>

<script language="javascript">

function getwidth(myPicture){
newImg = new Image();
newImg.src = myPicture;

myWidht = newImg.width;
myHeight = newImg.height;
if (myWidht > 190 )
{myHeight = myHeight*(190/myWidht);
myWidht = 190;
}
if (myHeight > 140) {
myWidht = myWidht*(140/myHeight);
myHeight = 140;
}
return myWidht
}

</script>


</head>
<body lang=RU link=blue vlink=purple style='tab-interval:35.4pt'>

<table border="1" width="100%">
<tr>
<td ><img src="r_s_220.jpg" width=getwidth("r_s_220.jpg")><br>баш</td>

.....

Ошибка в где то на уровне width=getwidth. Я не уверен что вообще можно так писать.. просто плохо знаю яваскрипт :)

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

newImg.src = myPicture;

myWidht = newImg.width;

Между началом загрузки и тем моментом, когда ты хочешь получить размер должно пройти одно очень маленькое, но очень важное событие. Картинка должна загрузиться. За считаные такты процессора, это естественно не произойдет. У Image есть свойтво complete. Проверяй его по таймеру и счастье придет к тебе.

Link to comment
Share on other sites

  • 0

><img src="r_s_220.jpg" width=getwidth("r_s_220.jpg")>

Это полный бред. Почитайте мат.часть. Было бы хорошо, если бы в html можно было бы так внедрить Javascript :) Но, к сожалению, такой передачи параметров не предусмотрено. Можно по событиям запускать скрипт, по идентификатору объекта в скрипте передавать свойства и т.п. Но не так.

Сделайте так. Установите разные id для всех картинок, которые Вам нужно изменить: <img src="r_s_220.jpg" id="pic1">

В bodi пропишите запуск функции на событие onload. В функции по id (GetElementById("pic1")) обращаетесь ко всем изображениям и делаете с ними, что хотите.

newImg = new Image(); cоздает новый объект. Это нужно, если у Вас не загружена картинка. А так она уже будет в объекте с соответствующим id.

Если не секрет, какова конечная цель такого преобразования?

Edited by Searcher
Link to comment
Share on other sites

  • 0

Моя цель создать таблицу с ячейками фиксированного размера, чтобы картинки помещенные в ячейки не растягивали таблицу под свой размер. Т.к. размер картинок у всех разный необходимо как то уметь узнавать его для каждой картинки и подгонять свойства width и height

Link to comment
Share on other sites

  • 0
Моя цель создать таблицу с ячейками фиксированного размера, чтобы картинки помещенные в ячейки не растягивали таблицу под свой размер. Т.к. размер картинок у всех разный необходимо как то уметь узнавать его для каждой картинки и подгонять свойства width и height

Ты пробовал не указывать значения windth и height?

Link to comment
Share on other sites

  • 0

В таком варианте есть минус.

Если картинка большая - грузиться она будет долго, и только потом уменьшаться. А если много картинок... Они подгоняются по размеру только после загрузки всех.

Только сейчас сообразил :) Есть еще вариант без скрипта! Вложить img в div, задать для div фиксированный размер, а для img высоту и ширину задать 100%.

Link to comment
Share on other sites

  • 0
Если картинка большая - грузиться она будет долго, и только потом уменьшаться.

Дело в том что у меня не сайт, а html документ с сохраненными картинками :)

поэтому грузиться будет быстро

Вложить img в div, задать для div фиксированный размер, а для img высоту и ширину задать 100%

разве в div можно задать размер?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy