Autor | Zpráva | ||
---|---|---|---|
H.V.Pottar Profil * |
#1 · Zasláno: 8. 10. 2009, 12:36:46
Chtěl bych se zeptat, nevěděli byjste čím to je, že v IE tento javascript funguje bezvadně, ale v Mozille vůbec? Poradíte mě, kde je chyba?
<BODY onload="startmotor(0)" > <style type="text/css"> #supertext { position:absolute; left:0; top:0; visibility:hide; visibility:hidden; } </style> <script language="JavaScript1.2"> var thecontent='<h2><img height="8" src="http://tranceband.com/TBobrazky/ptak2.gif"></h2>' var hidetimer=''; var BallSpeed = 1; var contentWidth; var contentHeight; var maxBallSpeed = 10; var xMax; var yMax; var xPos = 0; var yPos = 0; var xDir = 'right'; var yDir = 'down'; var superballRunning = true; var tempBallSpeed; var currentBallSrc; var newXDir; var newYDir; function initializeBall() { if (document.all) { xMax = document.body.clientWidth yMax = document.body.clientHeight document.all("supertext").style.visibility = "visible"; contentWidth=supertext.offsetWidth contentHeight=supertext.offsetHeight } else if (document.layers) { xMax = window.innerWidth; yMax = window.innerHeight; contentWidth=document.supertext.document.width contentHeight=document.supertext.document.height document.layers["supertext"].visibility = "show"; } setTimeout('moveBall()',400); if (hidetimer!='') setTimeout("hidetext()",hidetimer) } function moveBall() { if (superballRunning == true) { calculatePosition(); if (document.all) { document.all("supertext").style.left = xPos + document.body.scrollLeft; document.all("supertext").style.top = yPos + document.body.scrollTop; } else if (document.layers) { document.layers["supertext"].left = xPos + pageXOffset; document.layers["supertext"].top = yPos + pageYOffset; } animatetext=setTimeout('moveBall()',20); } } function calculatePosition() { if (xDir == "right") { if (xPos > (xMax - contentWidth - BallSpeed)) { xDir = "left"; } } else if (xDir == "left") { if (xPos < (0 + BallSpeed)) { xDir = "right"; } } if (yDir == "down") { if (yPos > (yMax - contentHeight - BallSpeed)) { yDir = "up"; } } else if (yDir == "up") { if (yPos < (0 + BallSpeed)) { yDir = "down"; } } if (xDir == "right") { xPos = xPos + BallSpeed; } else if (xDir == "left") { xPos = xPos - BallSpeed; } else { xPos = xPos; } if (yDir == "down") { yPos = yPos + BallSpeed; } else if (yDir == "up") { yPos = yPos - BallSpeed; } else { yPos = yPos; } } function hidetext(){ if (document.all) supertext.style.visibility="hidden" else if (document.layers) document.supertext.visibility="hide" clearTimeout(animatetext) } if (document.all||document.layers){ document.write('<span id="supertext"><nobr>'+thecontent+'</nobr></span>') window.onload = initializeBall; window.onresize = new Function("window.location.reload()"); } </script> </body> ukázka: www.tranceband.com/Czech/index |
||
vynalezce Profil |
#2 · Zasláno: 8. 10. 2009, 17:14:22
startmotor is not defined
ie to asi ignoruje a Mozilla hlasi chybu |
||
Chamurappi Profil |
#3 · Zasláno: 8. 10. 2009, 17:25:48
Reaguji na vynalezce:
„ie to asi ignoruje“ V Exploreru je událost onload přenastavená. Reaguji na H.V.Pottara: „if (document.all||document.layers)“ Vyhoď tuto podmínku. Kontroluje prohlížeč, omezuje funkčnost na Explorer a starý Netscape. |
||
H.V.Pottar Profil * |
#4 · Zasláno: 8. 10. 2009, 17:43:27
„if (document.all||document.layers)“
odstranil jsem to jak říkáš, ale v Mozille to stejnak nefunguje vynalezce: "startmotor is not defined" toto v skriptu nevidim, jeto ten hlavní důvod proč to nejede? |
||
vynalezce Profil |
#5 · Zasláno: 8. 10. 2009, 18:15:52
mam funkcni obdobu
<html> <head> </head> <body onload="inicializujobr()"> <img height="8" style="display:hidden" id="obrazek" src="http://tranceband.com/TBobrazky/ptak2.gif"> <script> rychlostd=2; rychlostl=2; rychlost=50; poziced=0; pozicel=0; function inicializujobr(){ obrazek.style.position="absolute"; obrazek.style.display=""; pohni=setInterval("pohniobrazkem()",rychlost); } function pohniobrazkem(){ poziced=poziced+rychlostd; pozicel=pozicel+rychlostl; obrazek.style.top=poziced; obrazek.style.left=pozicel; if(document.body.clientHeight<=(poziced+rychlostd+20) || document.body.clientWidth<=(pozicel+rychlostl+20)){ clearInterval("pohni"); obrazek.style.display="none"; } } </script> </body> </html> |
||
H.V.Pottar Profil * |
#6 · Zasláno: 8. 10. 2009, 22:17:11
vynalezce:
Týýbrdo jak si to udělal?? Jede to v obou prohlížečích jeto sice super, ale ten ptáček jakmile doletí pod menu tak se ztratí, předtím jsem to měl nastavený tak, že lítal pořád dokola a odrazoval ze stěn, nebo z boku, zkusím nato kdyžtak ještě přít, ale byl bych moc rád, kdybys poradil, jinak dik i za toto =) |
||
H.V.Pottar Profil * |
#7 · Zasláno: 8. 10. 2009, 22:39:34
tvým kódem ten obrázek zmizne, ukazka zde: http://www.tranceband.com/Czech/Zkouska/
|
||
vynalezce Profil |
#8 · Zasláno: 9. 10. 2009, 12:16:26 · Upravil/a: vynalezce
„tvým kódem ten obrázek zmizne“
ja vim to melo bejt schvalne sem si myslel ze to ten kod ma delat tady je kod <html> <head> </head> <body onload="inicializujobr()"> <img height="8" style="display:hidden" id="obrazek" src="http://tranceband.com/TBobrazky/ptak2.gif"> <script> rychlostd=2; rychlostl=2; rychlost=20; poziced=20+rychlostd; pozicel=20+rychlostl; function inicializujobr(){ obrazek.style.position="absolute"; obrazek.style.display=""; pohni=setInterval("pohniobrazkem()",rychlost); } function pohniobrazkem(){ poziced=poziced+rychlostd; pozicel=pozicel+rychlostl; obrazek.style.top=poziced; obrazek.style.left=pozicel; if(document.body.clientHeight<=(poziced+20+rychlostd)){ rychlostd=rychlostd*(-1); } if(document.body.clientWidth<=(pozicel+20+rychlostl)){ rychlostl=rychlostl*(-1); } if((pozicel-rychlostl-20)<=0 && rychlostl<0){ rychlostl=rychlostl*(-1); } if((poziced-rychlostd-20)<=0 && rychlostd<0){ rychlostd=rychlostd*(-1); } } </script> </body> </html> |
||
H.V.Pottar Profil * |
#9 · Zasláno: 9. 10. 2009, 13:06:35
vynalezce: diki moc, ted' už jeto vono, akorat, bych byl moc rád za takovou maličkost, změna pozice, aby ten ptáček místo toho, aby letělo ze shora dolu aby letělo uplně ze zdola stránek nahoru stejným způsobem, šlo by to prosím? Jeto moje poslední prosba, zkoušel jsem to tam hledat, ale kromě rychlosti a vrchí pozice na ose x/y mi nejde toho ptačka umístit na dolním místě stránek aby to letělo nahoru
|
||
Chamurappi Profil |
#10 · Zasláno: 9. 10. 2009, 13:23:13
Reaguji na vynalezce:
„clearInterval("pohni");“ Co by to mělo dělat? Argumentem pro clearInterval je číslo intervalu. „pohni=setInterval("pohniobrazkem()",rychlost);“ Uvádět jako první argument setIntervalu řetězec je sice funkční, ale ošklivé. Čistší je dát tam funkci. Reaguji na H.V.Pottara: Jsou i účinnější způsoby, jak obtěžovat návštěvníka — můžeš mu třeba pustit hudbu, rozpohybovat text, rozblikat titulky, atd. Proč sis vybral zrovna létajícího ptáka? |
||
vynalezce Profil |
#11 · Zasláno: 9. 10. 2009, 13:52:27 · Upravil/a: vynalezce
„Jsou i účinnější způsoby, jak obtěžovat návštěvníka“
nastavit to aby to letelo jen nad obrazkem nalevo tak to vypada hezky „dolním místě stránek aby to letělo nahoru“ zmen toto: radkek 7 rychlostd=2; -> rychlostd=-2; 8 rychlostl=-2; -> rychlostl=-2; 10 poziced=20+rychlostd; -> poziced=document.body.clientHeight-20; 11 pozicel=20+rychlostl; -> pozicel=document.body.clientWidth-20; |
||
H.V.Pottar Profil * |
#12 · Zasláno: 9. 10. 2009, 15:00:46
vynalezce: nj jeto sice vono, ale ten pták nezačíná létat až "úplně ze zdola stránky", ale z poloviny (u loga) kterým příkazem nebo číslem bych mohl nastavit tak, aby to létalo až úplně ze zdola? ukázka: http://www.tranceband.com/Czech/index/
Chamurappi: „Proč sis vybral zrovna létajícího ptáka?“ se mrkni na ukázku a uvidíš =) dodává to pocit, že je ta stránka živá |
||
Časová prodleva: 15 let
|
0