Autor Zpráva
senior
Profil
Prosím o pomoc s kódom na "vyjíždějíci banner" z boku stránky. Ďakujem.
senior
Profil
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 *
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 *
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
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
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 *
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
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.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0