Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Пропорциональное уменьшение размеров картинок (делаем тамбнейлы), не работает (https://javascript.ru/forum/dom-window/13348-proporcionalnoe-umenshenie-razmerov-kartinok-delaem-tambnejjly-ne-rabotaet.html)

adelante 27.11.2010 13:35

Пропорциональное уменьшение размеров картинок (делаем тамбнейлы), не работает
 
Собственно, есть

<td class='ttt tooltipimg'


есть

<style type='text/css'>.ttt {vertical-align:top;} .ttt img { width:400px; }</style>


и есть:

<script type="text/javascript">

function setWidth() { 

		var allImg = document.getElementsByClassName('tooltipimg').getElementsByTagName('img'); 
		
		for (var i=0; i<allImg.length; i++) 
		{ if (allImg[i].width > 190) 		
			{ allImg[i].height = allImg[i].height*(190/allImg[i].width); allImg[i].width = 190; }
		 
		  if (allImg[i].height > 190) 
		  	{ allImg[i].width = allImg[i].width*(190/allImg[i].height); allImg[i].height = 190; }
		    
			}
	    } 
	 
onload = setWidth;

</script>


И что-то оно, зараза, не работает. Или мозг у меня.

Gvozd 27.11.2010 13:50

getElementsByClassName
разумеется вы в курсе, что он работает не во всех браузерах

adelante 27.11.2010 14:03

Не работает в Safari, Chrome, Opera, Firefox (всё последнее, свежее). Такчто, наверное, не в этом дело. В Эксплорере не проверял.

рони 28.11.2010 08:34

adelante,
А картинки то успели подгрузиться к тому времени когда вы их изменяите?

Kolyaj 28.11.2010 09:44

Цитата:

Сообщение от adelante
var allImg = document.getElementsByClassName('tooltipimg').getE lementsByTagName('img');

getElementsByClassName возвращает NodeList, у которого нет метода getElementsByTagName.

Откройте для себя консоль ошибок. Без неё далеко не уедете.


Часовой пояс GMT +3, время: 02:07.