« 1 2 »
Autor Zpráva
Pavel Dumbrovský
Profil
Dobrý den,
v JS neumím prakticky nic a proto prosím o pomoc:
Je možné zjistit v průběhů načítání stránky výšku jednoho divu a nastavit tou hodnout výšku divu druhého?

document.getElementById("middle").scrollHeight


Toto mi zjistí výšku obsahu toho divu a jak to teď zakomponovat do
<div style="height: xxx">
aby to fungovalo?
Díky.
panther
Profil
Pavel Dumbrovský:
nevím, čeho chceš dosáhnout, ale jsou to dva stejně dlouhé panely?
Pavel Dumbrovský
Profil
Ano tak něco.
Pavel Dumbrovský
Profil
Ale ta metoda s tím pozadím mi určitě nepomůže, includuji tam vertikální panel s js fotogalerií, kterýmu se ale dává pevná šířka. Nejde tam dát height: 100%, jen pixely. Takže to chci zkusit takhle.
Pavel Dumbrovský
Profil
panther:
Takže to nejde???
Chamurappi
Profil
Reaguji na Pavla Dumbrovského:
Pomocí document.getElementById můžeš najít i ten druhý <div> a nastavit mu style.height = změřenáVýška + "px";
Pavel Dumbrovský
Profil
Chamurappi:
Děkuju za pomoc, ale jak jsem psal, v JS neumím nic.

zápis
document.getElementById("motioncontainer").style.height = document.getElementById("middle").scrollHeight+"px";

mi nejde, mohl bys mi prosím říct, co je blbě? Díky.
Chamurappi
Profil
Reaguji na Pavla Dumbrovského:
Kam přesně ten zápis píšeš? Prosím o odkaz na živou ukázku.
Pavel Dumbrovský
Profil
http://www.obchodvm.cz/izolinvest/?page=stresni-izolace
- jde o nastavení výšky toho pohyblivého pravého JS panelu s fotkami.
Chamurappi
Profil
Reaguji na Pavla Dumbrovského:
Nemůžeš elementu nastavovat výšku v době, kdy ještě neexistuje. Posuň ten <script> minimálně za počáteční značku <div id="motioncontainer">.
Trejpa
Profil
Pavel Dumbrovský:
http://qu.wu.cz/webtest/stejna-vyska-dvou-elementu.htm
Pavel Dumbrovský
Profil
Chamurappi:
Děkuji mockrát za pomoc! Funguje. :)
Trejpa
Prosím Tě, proč tam máš offsetHeight místo scrollHeight? Už jsem myslím četl něco o tom, že to neberou všechny prohlížeče - je to ten důvod? Nebo jde o to, že já scrollHeightem změřím obsah divu, kdežto offsetem změřím div jako takový?
Trejpa
Profil
Pavel Dumbrovský:
Prosím Tě, proč tam máš offsetHeight místo scrollHeight?
offsetHeight vrací aktuální výšku elementu.
scrollHeight vrací vnitřní výšku bloku. Tento údaj je stejný jako u offsetHeight dokud element nemá posuvníky (overflow). Potom vrací skutečnou plochu mezi posuvníky (i to, co není vidět, ale bez posuvníků).

Pro <body> je obvykle vhodnější scrollHeight, pro ostatní elementy spíš offsetHeight. Ale jak už jsem napsal, dokud nemá měřený element nějaké overfow, tak to může být jedno. Obě funkce fungují ve všech prohlížečích (IE 5.5+, FF, Opera, Safari, Chrome). To si ostatně můžeš na mých příkladech ověřit.
Bezzi
Profil
Trejpa, Trejpa, Trejpa:


Chtel bych se zeptat jestli se tento styl da pouzit i pro nastaveni divu v jine strance. A jak bych tento js volal aby nastavil vysku divu?
Trejpa
Profil
Bezzi:
Tomu říkám oslovení.

Chtel bych se zeptat jestli se tento styl da pouzit i pro nastaveni divu v jine strance.
Nerozumím. Chceš, aby výška něčeho na jedné stránce měnila něco na jiné stránce?

A jak bych tento js volal aby nastavil vysku divu?
Skripty se volají obvykle pomocí funkce.


Příklad využití skriptu na srovnávání velikostí bloků uvedený na této stránce dokazuje pouze to, že to takto udělat lze. Pro rozvržení stránky se to však nepoužívá.
Bezzi
Profil
Trejpa:
Nelibi se ti osloveni??
"
"Nerozumím. Chceš, aby výška něčeho na jedné stránce měnila něco na jiné stránce?"
Ano chci aby div na jedne strance mi ovlivnoval treba iframe na strance druhe. O par textu vyse resi jak pomoci js menit velikost divu na jedne strance, tak me zajima jesti toto jde i ze stranky na stranku.
Bohuzel sem asi jeste horsi ve znalosti js jak dotycny ktery toto vlakno zacal. Tak jestli muzu poprosit vysvetlit nejak polopaticky :-)
Trejpa
Profil
Bezzi:
Do nově otevřené stránky lze proměnnou dostat pomocí parametru v adrese, cookies nebo session.

Takže třeba pomocí cookies:

První stránka (zdroj):
<div id=zdrojovy_element>Podle výšky tohoto prvku se to nastaví.<br><br><br><br></div>
<script>
var vyska=document.getElementById('zdrojovy_element').offsetHeight;
var datum= new Date();
datum.setTime(datum.getTime() + 1000 * 60 * 60 * 24 * 14); // 14 dnů platnosti
document.cookie = "vyska="+vyska+"px;expires=" + datum.toGMTString();// samotný zápis cookie
</script>

Druhá stránka (cíl):
<div id=cilovy_element>Tento blok bude mít změněnou velikost.</div>
<script>
if (document.cookie.indexOf('vyska')!=-1){
var a=document.cookie.split(";");
for (i = 0; i < a.length; i++){b=a[i].split('=');
if (b[0]=='vyska') document.getElementById('cilovy_element').style.height=b[1];}}
</script>
Bezzi
Profil
Trejpa:

strasne moc moc dekuji, hned to jdu zkusit a kdyz to bude fungovat projedu si zdrojak abych priste nemusel otravovat :-)

Jen jeste takovou drobnost da se ten druhy script pouzit i pro iframe?? jak?
- ze by se podle urciteho divu prenastavyla vyska iframu?
Trejpa
Profil
Bezzi:
Druhá stránka (cíl):
<iframe id=cilovy_element src=neco.html width=500 height=400></iframe>
...
Bezzi
Profil
Trejpa:

a druhy script davam mezi <iframe> a </iframe> jestli to dobre chapu
Trejpa
Profil
Bezzi:
Ne. Za něj.

Mezi <iframe></iframe> patří alternativní obsah pro prohlížeče, které iframe nepodporují. Obvykle se tam dává odkaz na zobrazovanou stránku / soubor.
Bezzi
Profil
Trejpa:

:-( tam budu mit nekde chybu:-( kdyz dam do prvniho scriptu alert(vyska); zobrazi se mi na te strance velikost kterou zmeril ? Chci zjistit kde mam chybu jestli v mereni nebo v iframu
Trejpa
Profil
Bezzi:
window.alert(vyska) na konci prvního skriptu ti vypíše změřenou výšku.
window.alert(document.cookie) na konci prvního skriptu ti vypíše všechny uložené cookies.

Testovací stránka.
Bezzi
Profil
dekuji

okolo te session to bude dost podobne ne? ono totiz ty zasr*** cookie ma docela dost lidi zakazane :-(
Trejpa
Profil
Bezzi:
cookie ma docela dost lidi zakazane
0,46 %

Používat session v PHP neumím.
Bezzi
Profil
Velice ti dekuji za obrovsky kus tve ochoty. Uz neni na forech tolik lidi ochotnych pomahat VSEM.
Bezzi
Profil
Vsechno funguje, kazdy js vraci spravnou hodnotu :-) ale iframe se neprenastavi :-( proc :-(

<iframe id="insol" src="http://ebeman.i-server.cz/Insolvency/demo.aspx" width="630px" height="1000px" frameborder="0" align="baseline" scrolling="no">
</iframe>

<script language="JavaScript" type="text/javascript" >
if (document.cookie.indexOf('vyska')!=-1){
var a=document.cookie.split(";");
for (i = 0; i < a.length; i++){b=a[i].split('=');
if (b[0]=='vyska') document.getElementById('insol').style.height=b[1];}}
window.alert(document.cookie);
</script>
Bezzi
Profil
Uz vim, to cookie je prazdne :-(
Trejpa
Profil
Bezzi:
Tak sem dej odkaz na problémovou stránku.

(Absolutní rozměry jsou v HTML vždy pixely bez jednotky: width="630" height="1000".)
Bezzi
Profil
http://www.ebe.cz/ebe/firmapk.nsf/web/test - tady je ten muj problem. Nevznikne totiz cookie. Mel bych dotaz nezlo by to udelat pres parent?? ze by script rovnou prenastavil iframe v nadrazenem okne?
« 1 2 »

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0