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, время: 18:31. |