Autor Zpráva
Keilew
Profil
Ahoj, řeším banální problém:
změnit jeden parametr elementu, který je nastylovaný v externím *.css.
Tudy cesta nevede...

elem = document.getElementById("container");
alert(elem.style.color);...null

Tudy (Yuhů) se mi to zase nelíbí, protože třeba width třeba vrací Stringem "20px" a ne číslem skutečného rozměru na obrazovce...

function ukazStyl(element,cssVlastnost){
if(document.defaultView) hodnota=window.document.defaultView.getComputedStyle(element,null).get PropertyValue(cssVlastnost); // Mozilla
else if(element.currentStyle) hodnota=eval("element.currentStyle." + cssVlastnost); // IE

return hodnota;
}



Sice by to šlo použít, ale potřeboval bych i měnit a "defaultView" je read-only. Nemáte něco jednoduššího, průhlednějšího (z principu
rozhodování co bude pro IE a jak to bude pro Mozz se mi moc nelíbí), jak dostat konkrétní hodnotu šířky
nějakého elementu, který je nastylován externě?
Fnesveda
Profil
function layer(id){
var res
if(document.getElementById) res=document.getElementById(id)
if(document.all) res=document.all[id]
if (res) return res.style
return null
}

var cil = layer('container');
cil.width = 50
Keilew
Profil
To ale neřeší čtení stylu. Takhle změním hodnotu, to je v pohodě, ale musím ji ze stylu (poprvé) načítat tak složitě, jak píše Yuhů (přes ten defaultView)?
Keilew
Profil
A ještě podotázka: jaký je nejmenší doporučený údaj v milisekundách použitelný do setTimeout()? 10milis?
peta
Profil *
Keilew
http://slayeroffice.com/tools/modi/v2.0/modi_v2.0.js
peta
Profil *
najdi si na slayrofice priklad k modi, tam zobrazuji pomoci Bookmarks(zalozek) www prohlizece vlastnosti vsech elementu na strance, kde mas kurzor.

Co se tyce funkce od Fnesveda
ja pouzivam toto:
function objGet2(d,x) {d=d==0?document:d; return (d.getElementById?d.getElementById(x):d.all?d.all[x]:d.layers?d.layers [x]:null);}

Co se tyce udaje v MS, tak doporuceny je takovy, aby tvuj JS se dokazal zpracovat. Treba prehrani hudby na pomalejsim stroji muze znamenat 100ms+ ; spusteni a vykonani narocnejsiho JS muze znamenat 100ms+ (cili v techto pripadech bych nedoporucoval opakovani za sebou, protoze muzes zahltit pamet prohlizece, kde si posklada za 100ms spust x() a za dalsich 100ms dalsi x(), x() jeste neskonci, takze pak mas uz v pameti 2 pozadavky...)
Pro hodiny pouzivam 980ms nebo 2/3, kde cyklovac vypinam, necham vykonat zobrazeni hodin a cyklovac zapinam. Slo by to udelat s cyklovacem 1000ms, coz neni moc rizikove. Ale musis pocitat s tim, ze v jiste situaci muze nastat docasne zahlcovani, nez se to podari zpracovat.

Zatim jsem pouzil nejmensi cas 40ms, bezne pouzivam 100-300ms
http://www.volny.cz/peter.mlich/Pr/efekty/vlocky/vlocky7zap.htm
tento script muze docela dost pocukavat na pomalejsim stroji, protoze se manipuluje s 255 objekty typu obrazek prepocitavaji se souradnice kazdych 100ms a jestli se ma program zastavit.
Dalo by se to osidit tim zpusobem, ze bych prepocitaval souradnice nahodne vybranych rekneme 80 vlocek a ostatni by proste staly. To tam asi pridam, to mne ted napadlo :)
Keilew
Profil
Zajímavá věc. Mám element <div> a na něm událost onmouseover. Dále jsou v tom elementu nejaké spany, odstavce, nadpisy. Při přejetí z kteréhokoli vnitřního elementu do jiného vnitřního se tomu vnějšímu <div>u ztratí událost onmouseover a naběhne znovu. Tudíž to třeba při hrátkách s Opacity mrkne apod... Co s tím?
Pro představu:


<div ... onmouseover="" onmouseout="">
<span></span>
<h3></h3>
<p></p>
</div>
peta
Profil *
Keilew
To je znama vec. Zapomnel jsi dodat, ze ti to dela IE. IE totiz dela tu skaredost, ze prekryva margin a padding u inline prvku. Cili se muze stat, ze nejaky margin vytece a pak tam vznika mezera, kde efekt zhasina.
Zkus si tam dat kolem prvku ramecky a nastav vsem prvkum margin:0; Ted by ti to mohlo zhasinat zase na rameckach.
Keilew
Profil
peta
Kupodivu to dělá i FF. A vždy na hranici každého elementu. Margin mám všude, bez něj to ani snad nejde něco sestavit;-)
peta
Profil *
jak jsem psal, vynuluj margin a pak rekni, ze ti to stale dela.
Keilew
Profil
marginy jsem vynuloval, změna žádná.
peta
Profil *
Keilew
Tak potom se vratime na zacatek. Dej odkaz na stranku. Jestli jsem to nepsal, tak to je zakladni podminka, kdyz chces vyresit nejaky problem. Kdyz to napisi ja po svem, tak tam zadny problem nebude. Ale proc bych neco tvoril, ze? :)

Jinak bys mohl pridat, co mas vlastne za problem, protoze na zacatku jsi resil nejaky problem se stylovanim a ted resis neco s opacitou a marginy. Podle mne mas spatne postaveny CSS. Ale samozrejme bez ukazky-life je to jen muj dohad. Pravdepodobne tam mas nejaky float, position a mas to napsane spatne a pak se divis...
Obecne tu placi, novy problem, nove tema. Ja vim, ze treba chces usporit nejake misto, ale to je fakt pak jakesi zmatene.
Keilew
Profil
Hele, já to sem hodím a když s tím nehneme, založím nové téma. OK?
Odkaz, kam jsem to nastrkal: zde. Přímý odkaz do CSS: zde odkazu, hledej "div#intro div.introBox". Přímý odkaz do toho skriptu (udělá pozvolný přechod z opacity: 0.7 do opacity: 1): zde
Pozor, funguje to jen u prvního boxu (jinde jsem to nenastavoval)... tedy Optimic.tk. Jeď shora po tom boxu, třeba prostředkem, a už cca 20px od shora je první předěl.
peta
Profil *
udělá pozvolný přechod z opacity: 0.7 do opacity: 1

to je mozna ten problem. Na inetu se doctes, ze mozilla nezvlada opacitu z 0.99 do 1, na 1 to blikne. Takze se to dela tak, ze jen do 99.999% pripadne podobne cislo.
http://www.volny.cz/peter.mlich/www.htm#mssub7
- UL LI menu Effect (9k)

Ok, dobra, takze k tomu zhasinani...
1. vec, co si vsimnu, tak je 8 warningu u FF validatoru, ktere jsou zpusobeny zadnym obsahem u SPAN, treba
<span class="topIntroBox"></span>
2. FF JS konzola, kontrola CSS
Chyba: Chyba při parsování hodnoty vlastnosti 'cursor'. Deklarace vynechána.
Zdrojový soubor: http://keilew.net/xxx/styles/style.css
Řádek: 103
Chyba: Neznámá vlastnost 'filter'. Deklarace vynechána.
Zdrojový soubor: http://keilew.net/xxx/styles/style.css
Řádek: 303
Ale to jsou vsechno jen detaily, jenom kontroluji, jestli se nekde neprojevi jina chyba...

.floatLeft { float: left; }
Jasne, a kde mas neco, co ma display:inline-block ? Bez toho ti to muze v IE delat peknou paseku se ztracenim textu.

Kazdy uzavreny blok, kde floatujes by mel obsahovat clear. To take muze delat peknou paseku, pro zmenu ve FF.

div#leftHeader {
float: left;
position: relative;
}
To nevim, ze ktere stranky mas, ale tohle je nejvetsi fujka. Co jsem se s timto natrapil nez jsem docel na to, ze FLOAT a RELATIVE v jednom bloku proste michat nejde. Dej si tam nejaky div dovnitr, kdyz uz.

Snad ti to pomuze. Jinak teda musim rici, ze v 11k CSS se mi hledat nechce. Ale kazdopadne mas vesi sanci problem vyresit s odkazem nez bez nej. ten vzhled mi pripomina stranky jednoho cloveka, jmeno uz nevim. Cele to mel takove oraznove, nelibive. Pripada mi to stejne. Jedna cast je pekna ale hend je tam jina cast, ktera je v odlisnem stylu a cele to pusobi odpudive.
Keilew
Profil
Tak warningy vůbec neřeším, prázdný span - no dobře, dá se do něj dát mezera, ale takhle to funguje a upřímně - jak napsat správně CSS, aby to vypadalo ve Firefoxu a IE stejně a nemusel bych používat podtržítkový hack apod? Taky prázdný span není můj nápad, třeba ten fór s klikacím logem je od jednoho zdejšího vyhlášeného kodéra. Ten position: relative je tam úplně zbytečně, omylem mi to tam zůstalo. No a třída .floatLeft - jsou přesně dané situace, kdy se ztrácí v IE text a tahle to není. Tuto třídu jsem tam použil pro jednořádkové elementy, tedy stejně vysoké, takže to vůbec nevadí a ani clear tam bejt striktně nemusí, jelikož nad-element má pevnou výšku (to k FF). Neříkám, že to není slušnost, ale není to nutnost. Neboj, já už to mám všechno ošéfovaný;-)
Jinak poslední odstavec jsem nepochopil. Ten web, který jsem sem dal, má jen dvě stránky. Úvodní a webdesing. Ostatní jsou zatím jen odkazy na jiná místa, která se postupně přesunou na tuto doménu. Musel jsem to takhle narychlo spíchnout, protože hosting už platím, tak ať tam něco je. Tak ani moc nevím, která se ti nelíbila.... ten oranžový design (Optimic.tk) je poměrně starý a čeká ho brzká rekonstrukce a totální předělávka. Ta stránka Randall byla spíchnuta před časem narychlo a brzo se taky postěhuje v novém kabátě na tuto doménu. Taky ale leží jinde, tudíž vypadá jinak.
Jo a ten webdesign je nalinkován na keilew.net/graphic/
Toto téma je uzamčeno. Odpověď nelze zaslat.

0