Autor Zpráva
BS-Harou
Profil *
Mam skript podobny tomuto:
<script>
function getSirka(){
sirka = screen.availWidth+"px";
return sirka;
}
function getVyska(){
vyska = screen.availHeight+"px";
return vyska;
}
</script>
<div width="getSirka()" height="getVyska()">
neco, neco, neco
</div>

Bohužel tohle nefunguje.. jak jinak můžu dosadit proměnnou s JS do parametrů width a height??? ;(
Martin_
Profil *
JS téměř neovládám, ale co tím chceš dosáhnout? Zkusil jsem něco takového:


<style type="text/css">
#mujDiv {
border:1px solid red;
}
</style>
<script type="text/javascript">
function getSirka(obj) {
var sirka = obj.offsetHeight;
return sirka;
}
function getVyska(obj) {
var vyska = obj.offsetWidth;
return vyska;
}
window.onload = function() {
var obj = document.getElementById("mujDiv");
alert(getSirka(obj)+"px "+getVyska(obj)+"px");
}
</script>


<div id="mujDiv">
<p>Nějaký ten text</p>
</div>
Petroff
Profil
(1) Doporučuji si zjistit jak se správně určí rozmery dokumentu v okně, není to tak jednoduché.
(hodnoty screen.availXXX se používají při nastavování velikosti okna prohlížeče = objektu window)
(2) Tady máš pár způsobů jak nastavit DIV na velikost okna s dokumentem (některé způsoby nefungují ve všech prohlížečích - nejlépe je to vyzkoušet):

<html><!-- funguje v IE a FF -->
<head>
<style type="text/css">
#mujDiv {width:40em; height:30em; margin: auto; border:1px solid red; background:yellow}
#obsah {margin:2em; padding:1ex; border:1px solid red; background:white}
a {width:11em; display:block; margin:1em auto; border:2px outset blue; text-decoration:none; color:blue; background:#ddddff}
hr,a.set {width:32em;} hr {visibility:hidden}
a:hover {color: #44a; background:white; padding:1px; border:1px solid #44a}
h4 {color:red; font: italic bold .9em Arial}
body { margin:0; padding:0; text-align:center; font:1em Arial}
</style>
<script type="text/javascript">

function dejSirku() {
if (window.innerWidth)
/* NN4 a kompatibilní prohlížeče */
return window.innerWidth;
else if
(document.documentElement &&
document.documentElement.clientWidth)
/* MSIE6 v std. režimu */
return document.documentElement.clientWidth;
else if
(document.body && document.body.clientWidth)
/* starší MSIE + MSIE6 v quirk režimu */
return document.body.clientWidth;
else
return null;
}

function dejVysku() {
if (window.innerHeight)
/* NN4 a kompatibilní prohlížeče */
return window.innerHeight;
else if
(document.documentElement &&
document.documentElement.clientHeight)
/* MSIE6 v std. režimu */
return document.documentElement.clientHeight;
else if
(document.body && document.body.clientHeight)
/* starší MSIE + MSIE6 v quirk režimu */
return document.body.clientHeight;
else
return null;
}
function getHeight(obj){ return obj.offsetHeight } /* jsou pouze pro čtení */
function getWidth(obj) { return obj.offsetWidth } /* nejdou změnit */

function nastav(id,sirka,vyska) {
var obj = document.getElementById(id);
obj.style.width=sirka;
obj.style.height=vyska;
}

function set_exp(id) {
var obj = document.getElementById(id);
if (obj.style.setExpression) obj.style.setExpression('width','dejSirku()');
if (obj.style.setExpression) obj.style.setExpression('height','dejVysku()');
}

function set_res(id) {
window.onresize=function(){nastav(id,dejSirku()-2,dejVysku()-2)};
window.onresize();
}

function ukaz(id) {
var obj = document.getElementById(id);
alert("Objekt: "+id+" ŠÍŘKA="+getWidth(obj)+"px VÝŠKA="+getHeight(obj)+"px OKNO: ŠÍŘKA="+dejSirku()+"px VÝŠKA="+dejVysku()+"px");
}
</script>
</head>
<BODY id="BODY">

<DIV id="mujDiv">
<DIV id="obsah">
<h4>Stránka obsahuje DIV id="mujDiv" s červeným rámečkem a žlutým pozadím </h4>
<hr>
<a href="#" onclick='ukaz("mujDiv")'>Ukaž rozměry [mujDiv] </a>
<a href="#" onclick='ukaz("BODY")'>Ukaž rozměry [body] </a>
<hr>
<a class="set" href="#" onclick='nastav("mujDiv",dejSirku()-2,dejVysku()-2)'>Nastav rozměry [mujDiv] jednorázově rovny velikosti okna</a>
<hr>
<a class="set" href="#" onclick='set_exp("mujDiv")'>&lt;Pouze IE&gt;Zařiď ať jsou rozměry [mujDiv] stále rovny velikosti okna</a>
<a class="set" href="#" onclick='set_res("mujDiv")'>&lt;Nejen IE&gt;Zařiď ať jsou rozměry [mujDiv] stále rovny velikosti okna</a>
<hr>
</DIV>
<a href="#" onclick='location.reload()'> RESTART STRÁNKY </a>
</DIV>

</BODY>
</html>
Toto téma je uzamčeno. Odpověď nelze zaslat.