Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Скрипт не работает во всех браузерах, кроме Оперы (https://javascript.ru/forum/dom-window/2057-skript-ne-rabotaet-vo-vsekh-brauzerakh-krome-opery.html)

Yadooumne! 27.10.2008 02:44

Скрипт не работает во всех браузерах, кроме Оперы
 
В общем, есть
img class="flower"


В зависимости от его высоты назначается отступ сверху.
не работает нигде, кроме Оперы.

Если вставить alert(h) в нужном месте кода, то во всех браузерах, кроме Оперы, то выйдет только значение высоты первого img.

Как захватить все рисунки?



flowerHeight = function() {
var flower = document.getElementsByTagName("img");
   for(var i=0, l=flower.length; i<l;i++)
   { 
   if (flower[i].className == "flowerpic") {
   var h = flower[i].offsetHeight;
   if ((h<=200)&&(h>170)) { flower[i].style="margin-top: 30px;"; }
   else if ((h<=170)&&(h>140)) { flower[i].style="margin-top: 60px;"; }
   else if ((h<=140)&&(h>110)) { flower[i].style="margin-top: 90px;"; }
   else if (h<=110) { flower[i].style="margin-top: 100px;"; }

   }
}
 
}
window.onload=flowerHeight;

Yadooumne! 27.10.2008 02:57

IE 6 выдает ошибку типа символ 33 в строке 9 - член группы не найден

а символ 33 в строке 9 падает на flower[i]

ZoNT 27.10.2008 12:57

прикольно... С каких это пор объекту style можно строку присваивать?

Yadooumne! 27.10.2008 14:26

наверное, в этом и дело. а как присвоить марджин?

flower[i].style.margin="90px 0 0 0;";

?

Yadooumne! 27.10.2008 14:51

Ай да ZoNT, ай да молодец ))))
*довольный и благодарный смайлик*

Но теперь не работает в Опере )))) А везде работает ))))))

Yadooumne! 27.10.2008 15:29

В общем я решил проблему путем присваивания имени класса )))

ZoNT 27.10.2008 17:08

было:
lower[i].style.margin="90px 0 0 0;";
стало:
lower[i].style.margin="90px 0 0 0";

А ещё лучше:
lower[i].style.marginTop="90px";


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