Autor | Zpráva | ||
---|---|---|---|
senior Profil |
#1 · Zasláno: 9. 5. 2005, 00:48:08
Prosím o pomoc s kódom na "vyjíždějíci banner" z boku stránky. Ďakujem.
|
||
senior Profil |
#2 · Zasláno: 9. 5. 2005, 01:13:33
Mám tento JS, ktorý však "vyjíždí" z boku obrazovky a nie z boku stránky. Prosím o pomoc, pretože JS neovládam. Ďakujem.
<SCRIPT language=javascript> var nL = -250; var mS = 25; var cX = nL; var sT1; var sT2; var ie = 0; var ns = 0; if (parseInt(navigator.appVersion) >= 4) { ns = (navigator.appName.indexOf("Netscape") != -1) ? true : false; ie = (navigator.appName.indexOf("Microsoft") != -1) ? true : false; } if(ie || ns){ document.write('<style type="text\/css">\n'); document.write('#x21 { position: absolute; top: 135px; left: '+nL+'px; margin-top: 0px; margin-left: 0px; }\n'); document.write('<\/style>\n'); } function sx1(){ if(window.sT2) clearTimeout(sT2); if(cX < 0){ cX += mS; if(cX > 0) cX = 0; if(ie) x21.style.left = cX+"px"; if(ns) document.layers["x21"].left = cX; sT1 = setTimeout("sx1()",15); } else if(window.sT1) clearTimeout(sT1); } function tu9(){ if(window.sT1) clearTimeout(sT1); if(cX > nL){ cX -= mS; if(cX < nL) cX = nL; if(ie) x21.style.left = cX+"px"; if(ns) document.layers["x21"].left = cX; sT2 = setTimeout("tu9()",15); } else if(window.sT2) clearTimeout(sT2); } if(ie || ns) document.write('<div id="x21"><a href="" target="_blank" onMouseOver="sx1()" onMouseOut="tu9()"><IMG SRC="a.gif" ALT="" WIDTH=294 HEIGHT=253><\/a><\/div>\n'); </SCRIPT> |
||
Peta Profil * |
#3 · Zasláno: 9. 5. 2005, 18:15:41
senior: Ale mi ten script nevyjizdi :) On tam nekde na strance stoji. Mam Firefox :) Podle obsahu je ten script psan pouze pro IE a netscape, cili 80% lidi a nas 20% co?
Jaky je rozdil mezi vyzizdi ze stranky a vyjizdi z obrazovky? A co teda presne chces, aby to delalo... Obrazovka, to je to sklo, do ktereho koukas. Cili kdyby ti ten baner chodil zprava doleva a zpet a pritom se jeste schovaval za okraje, pak to chapu, je se presunuje mezi okraji obrazovky a se za ne schovava. ... toto by se muselo delat metodou windows.open Vyse popsany script se chova obdobne, ale pracuje s okraji stranky a schovava se za ne. Cili tato veta neplati: "Mám tento JS, ktorý však "vyjíždí" z boku obrazovky a nie z boku stránky." Jenom tam schazi, ze ma byt CSS body{margin:0;padding:0} cely script by mel vypadat asi takhle nejak (kdyz budes mit nad tim mys, tak to skoci o 10 doleva, a si prepises za domaci ukol casovani a nastavis si odkud pokud se ti ma reklama posunovat :) ) <head> <style type="text/css"> body {margin:0;padding:0} .rekl0 {height:70px;width:100%} #rekl {position:absolute;left:300px; height:70px;width:200px;border:3px groove #d5d5ff} </style> <script type="text/javascript" language="javascript"><!-- Begin function objGet(x) {if (typeof x!='string') return x; else if (Boolean(document.getElementById)) return document.getElementById(x); else if (Boolean(document.all)) return eval('document.all.'+x); else if (Boolean(document.layers)) return document.layers[x]; else return null;} var i; function init() {i=300} function posun() {var j=i;j-=10;objGet("rekl").style.left=j} function vrat() {objGet("rekl").style.left=i} // End --></script> </head> <body onload="init()"> <div class="rekl0" onmouseover="posun()" onmouseout="vrat()"> <div id="rekl"> ... </div> </body> |
||
Peta Profil * |
#4 · Zasláno: 9. 5. 2005, 18:17:22
Jo, 1 div jsem zapomnel ukoncit... Cili konec takto
<body onload="init()"> <div class="rekl0" onmouseover="posun()" onmouseout="vrat()"> <div id="rekl"> ... </div> </div> </body> |
||
senior Profil |
#5 · Zasláno: 9. 5. 2005, 20:10:36
Vďaka za vysvetlenie a pomoc. Pre mňa je JS španielska dedina. Som v tom absolútny začiatočník. Ešte šťastie, že sú tu ľudia ochotní pomôcť. Podám preto podrobnejsie vysvetlenie:
Na monitore mám vystredenú stránku so šírkou 700 px. Potrebujem, aby ten banner vychádzal spod tejto stránky po nabehnutí myšou alebo po odkliknutí. Ideálne by bolo, keby sa to dalo urobiť na obidve strany stránky. Stránka by tak mala akési uši. Neviem, či som to vysvetlil dosť jasne. Ešte raž vďaka za pomoc. |
||
senior Profil |
#6 · Zasláno: 9. 5. 2005, 20:17:42
Môže mi prosím niekto vysvetliť, prečo niektore scripty fungujú iba pod IE a nie aj napr. vo Firefoxe? Veľa mojich známych už totiž prechádza na Firefox, aj keď aj ten má svoje chyby.
|
||
Peta Profil * |
#7 · Zasláno: 9. 5. 2005, 20:52:12
Jako, to, co jsem ti napsal, to jde udelat ciste jen CSS jako hover. Ale pro IE musis pouzit JS (csshover.htc treba).
Samozrejme, ze to jde udelat na obe strany :) www.jakpsatweb.cz sekce CSS a a:hover nebo jen hover si prostuduj :) Nemusi se ti to pomalu vysouvat, ale najednou. Klasicke rozbalovaci menu, jako je treba na www.volny.cz/dvereapodlahy/ ... Jenom tam se to rozbaluje vse dolu. Proc neco funguje v IE, neco ve Firefox-Opera-Mozilla a neco v Netscape , Camino, Konqueror? Protoze jsou to jine prohlizece :) Nektere zadarmo, jine za penize, nektere default Linux KDE, Linux Gnome, Mac Os, Windows ... Proste konkurence a kazdy si resi html po svem. Nejhure je na tom windows a IE. Tam se musi delat takove ofuky, aby se to zobrazovalo stejne nebo aspon podobne jako ve vsech ostatnich... Vetsina tech jinych prohlizecu je ted zalozena na G jadre, zakladu pro zobrazovani. Ktere kazdy po svem jeste nejak upravuji, protoze neni dokonale. Na tom scriptu, co jsem ti napsal vidis toto, jak priradit objekt do promenne... if (typeof x!='string') return x; ... jestlize neni X retezec, pak vrat X else if (Boolean(document.getElementById)) return document.getElementById(x); ... nebo a existuje-li prvek s ID, vrat adresu prvku else if (Boolean(document.all)) return eval('document.all.'+x); ... nebo a existuje-li document.all, vrat adresu prvku z document.all else if (Boolean(document.layers)) return document.layers[x]; ... nebo a existuje-li document.layers, vrat adresu prvku z document.layers - id je univerzalnejsi pro G jadlo (firefox, opera, mozilla, konqueror, camino, galeon... linuxove) - name a document pouziva IE - layers pouzivali Netscape ID by melo fungovat vzdy, name snad take, pokud nepouzijes nejakou specialitku MS To mas jako programovaci jazyky: INET: ASP, PHP, ... programy: c, pascal, a na nich zalozene procesory: asm, hc11, i51m a dalsi asemblerove databazove: perl, sql, mysql, foxpro ... Proc je tolik jazyku? Protoze je nejaky placeny a nekdo chtel levnejsi nebo lepsi, konkurence nebo machrovinka :) |
||
senior Profil |
#8 · Zasláno: 9. 5. 2005, 21:36:45
Vďaka za vyčerpávajúcu odpoveď. Idem si nad to sadnúť a dúfam len, že ma pri tom nenajde ráno (vďaka mojim skúsenostiam). Dúfam, že neprídem ráno s ešte hlúpejšou otázkou.
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0