Autor Zpráva
V
Profil *
pouzivam JS a jede dobre az na FF. teda pokud z FF nevyhodim DOCTYPE coz nechci. Nekde jsem cetl ze IE i OPERA pouzivaji spatny objektovy model ale kde mam chybu? jak to zmenit. Dik za RE

1/
<script language="javascript" type="text/javascript">
<!--
function height () {
var blank = eval (document.getElementById ('blank'));
var newHeight = (screen.availHeight - 442) / 4;
blank.style.height = newHeight;
}
-->
</script>


2/
// Vraci nahodne cislo x, kde 0<=x<num
function randNum (num) {
var rnd1 = Math.round( (num-1) * Math.random() )
return rnd1;
}

// Snezeni
var items = [ "../img/snow1.gif", "../img/snow2.gif", "../img/snow3.gif" ];
var itemsCount=30;
var screenLeft = 50;
var screenTop = 50;
var screenWidth = screen.availWidth - 150;
var screenHeight = screen.availHeight - 180;
var moveamountY = 10;
var moveamountX = 0;
var randomizeX = 2;
var randomizeY = 3;
var fCycleX = false;
var fCycleY = true;
var fRandomXwhenYCycles = true;
var fRandomYwhenXCycles = false;
var fCycleImages = false;
var speed = 100;


var i;
var Xs = new Array();
var Ys = new Array();
var Is = new Array();

function Animate() {
var y;
for(i=0; i<itemsCount; i++ ) {

Ys[i] += moveamountY + ( randNum(2) ? (1) : (-1) ) * randNum(randomizeY);
Xs[i] += moveamountX + ( randNum(2) ? (1) : (-1) ) * randNum(randomizeX);

if( Xs[i] > screenLeft + screenWidth ) {
Xs[i] = fCycleX ? screenLeft : screenLeft + screenWidth;
Ys[i] = fRandomYwhenXCycles ? screenTop + randNum(screenHeight) : Ys[i];
}
if( Ys[i] > screenTop + screenHeight ) {
Ys[i] = fCycleY ? screenTop : screenTop + screenHeight;
Xs[i] = fRandomXwhenYCycles ? screenLeft+ randNum(screenWidth) : Xs[i];
}
if (fCycleImages) {
Is[i]++;
if(Is[i]>=items.length) Is[i]=0;
document.getElementById('animitem'+i).src = items[ Is[i] ];
}

document.getElementById('animitem'+i).style.top = Ys[i];
document.getElementById('animitem'+i).style.left = Xs[i];
}
}

if(document.getElementById) {
for(i=0; i<itemsCount; i++ ) {
Xs[i] = screenLeft + randNum(screenWidth);
Ys[i] = screenTop + randNum(screenHeight);
Is[i] = randNum(items.length);
document.write('<img ID="animitem'+i+'" STYLE="position:absolute; left:'+Xs[i]+'; top:'+Ys[i]+'" src="'+ items[Is[i]] +'">');
}
setInterval("Animate()",speed);
}
peta
Profil
http://www.volny.cz/peter.mlich/www.htm#mssub9
Pozice na doctype prilis nezavisi. A propo, priste dej odkaz na stranku, tady zadne doctype nemas a ani nevim, zda tu mas vse, aby script jel, aniz by clovek musel pulku veci doplnit.
V
Profil *
Dik za reakci.
Ja vim k cemu je DOCTYPE ale je to proste praxe. Pokud mam u stranky jakykoliv DOCTYPE tak prvni script neprojde. Pokud ho smazu funguje jak ma.

Tvoje snezeni jsou super ale to mi nepovi co jsem pouzil spatne :(
peta
Profil
V
Ja ti je ale dal, aby sis je upravil. Ty funguji.
Jinak jsem te zadal o odkaz na funkcni stranku, bez toho bohuzel.

Mohu tak odhadnout, ze nepouzivas spravne hodnoty:
screen.availHeight
screen.availWidth
screenLeft + screenWidth
screenTop + screenHeight
Tudiz bys mel nektere z nich pouzit jine. Jake? www.google.com javascript mouse crossbrowser (pripadne mouse event)
V
Profil *
Nechci to tu zaplacavat odkazy, ktere za den nebudou funkcni. ale napsal jsem ti na mail mracek@xko.cz
krteczek
Profil
V: s tím že ty odkazy nebudou za den funkční se tu jaksi počítá, jak jinak jednoduše a přesně ukázat co to dělá/nedělá? Tady není žádné pastebin, prostě když něco nefunguje tak dej odkaz, na stránku kde se příslušný problém nachází. Toto fórum neslouží k linkování/zveřejňování odkazú na weby, ale na problémy, případně na jejich řešení.
krteczek
habendorf
Profil
V

Zkus

var newHeight = (screen.availHeight - 442) / 4 + "px";
peta
Profil
Jj, stale to rikam, ze prvni se podivam do JS konzoly. A ne, nikdo to nedela. Proc ji prohlizec asi ma?

Varování: Chyba při parsování hodnoty vlastnosti 'height'. Deklarace vynechána.
Zdrojový soubor: file:///D:/x/WL/wl.htm
Řádek: 0

http://peter-mlich.wz.cz/x/wl.htm

konkretne:
var h,t;
t="";
h = screen.availHeight;
t+=h+"|";
h = parseInt(h);
t+=h+"|";
alert(t);
vendo
Profil
Niekde som čítal, že screen.availHeight - výška - robí prúsery, najmä tuším mimo IE... treba používať document.body.clientHeight - pozor, ani použitie offsetHeight nemusí byť dobré! Ale clientHeight sa osvedčuje.
Toto téma je uzamčeno. Odpověď nelze zaslat.