IE 6 свойство width
Написал скрипт, который меняет размер картинкам, вписывая их в определенные рамки, сохраняя при этом исходные пропорции:
var e = document.getElementsByTagName("img"); var width = 200, height = 300; var w, h, hi, wi; for (var i = 0; i < e.length; i++) if (e[i].className == "ph_cat") { w = e[i].width; h = e[i].height; hi = h * width / w; if (hi <= height) { e[i].width = width; e[i].style.paddingTop = (height - hi)/2 + "px"; e[i].style.paddingBottom = (height - hi)/2 + "px"; } else { wi = w * height / h; if (wi <= width) { e[i].height = height; e[i].style.paddingLeft = (width - wi)/2 + "px"; e[i].style.paddingRight = (width - wi)/2 + "px"; } } } В IE 6 переменные w и h равны 0, помогите пожалуйста разобраться |
e[i].style.width и тд.
|
monolithed,
не работает |
abc_ua так в IE6 работает:
var e = document.getElementsByTagName("img"); var width = 200, height = 300; var w, h, hi, wi; for (var i = 0; i < e.length; i++) if (e[i].className == "ph_cat") { w = e[i].width; h = e[i].height; hi = h * width / w; if (hi <= height) { e[i].style.width = width +'px'; e[i].style.paddingTop = (height - hi)/2 + "px"; e[i].style.paddingBottom = (height - hi)/2 + "px"; } else { wi = w * height / h; if (wi <= width) { e[i].style.height = height +'px'; e[i].style.paddingLeft = (width - wi)/2 + "px"; e[i].style.paddingRight = (width - wi)/2 + "px"; } } } |
monolithed,
не работает, у меня w и h равны 0 в ie 6 |
Почему тогда у меня в IE6 работает?
http://www.jsfiddle.net/RTq5N/53/ |
monolithed, тут в ie работает, а на сайте - нет)
|
abc_ua, попробуйте offsetWidth и offsetHeight.
|
проблема оказалась не в этом
$.get("ссылка", function (data) { ... list += "<img..."; ... $("div#ph_catalog").html(list); }); window.onload = function () { /* изменение размеров изображений */ }); Такое ощущение, что для ie 6 созданные img не успевают загрузится, отсюда нулевые значения |
-----
|
Часовой пояс GMT +3, время: 01:38. |