[JS] ustawianie stylu

0

Chcę zrobić skrypt JS, który ustawia odpowiedzni styl dla 4 elementów w zależności od przegladarki:

function UtworzStyl(element, styl)
{
	document.getElementById(element).setAttribute("style", styl);
}

function rozmiesc(dlugosc)
{
	for(i=0;i<4;i++)
	{
		element = (i==0)?"lewyg":((i==1)?"lewyd":((i==2)?"prawyg":"prawyd")); 
		strona = (i<2)?"left":"right";
		UtworzStyl(element, "width:"+dlugosc+"px;float:"+strona);
	}
}

rozmiesc((document.all)?290:280);

Na Mozilli i FF wszystko działa,
w IE nie bardzo, ktoś wie dlaczego??

0

Style w JS ustawia się przez document.getElementById("twoj_element").style["nazwa_stylu"] = "wartosc".

0

zrob tak:

function UtworzStyl(element, styl) {
  var setStyle = function(elm, cssText) {
    var items = cssText.split(/;/);
    for (var i = 0; i < items.length; i++) {
      if (items[i].indexOf(':') == -1) continue;
      var item = items[i].split(/:/);
      for (var j = 0; j < item.length; j++) 
        item[j] = item[j].replace(/^\s*(.*?)\s*$/, '$1');
      elm.style[item[0]] = item[1];
    }
  }
  setStyle(document.getElementById(element), styl);
}
0

Dlaczego nie mogę ustawić stylu za pomocą setAttribute?
Przecież można ustawić styl w ten sposób:
<div style='...'> </div>

Piechnat twoja funkcja nie działa w Mozilli, niewiem jak w IE, nie miałem możliwości sprawdzenia...

0
ciapek888 napisał(a)

Dlaczego nie mogę ustawić stylu za pomocą setAttribute?
Przecież można ustawić styl w ten sposób:
<div style='...'> </div>

po prostu IE tego nie kupuje, przypisuje zawartość do atrybutu ale jej nie wykonuje

Piechnat twoja funkcja nie działa w Mozilli, niewiem jak w IE, nie miłem możliwości sprawdzenia...

mi tam dziala pod IE FF i Opera

0

a mi nie dziala nigdzie [glowa]

1 użytkowników online, w tym zalogowanych: 0, gości: 1