Autor Zpráva
electronica
Profil
zdravicko.
mam takyto problem. na stranke www.devilrecords.szm.sk mam nalavo menu,kde sa menia obrazky ked cez ne prejdem

mysou.potreboval by som to menu hodit do jedneho suboru napr. menu.js a potom aby som to menu mohol vyvolat z toho suboru na

ostatne podstranky takto:

<html>
<head>
</head>
<body>

<script src="menu.js"></script>

</body>
</html>



aby ked chcem spravit nejaku zmenu, aby som to nemusel prepisovat v kazdej podstranke.
toto mi funguje:
document.write('<a href="bratrance.htm"><img src="bratrance.gif" border=0></a>')


ale toto nie:
document.write(' <a href="pages/bratrance.htm" target="" onmouseover="document['bratrance'].src = 'bratrance1.gif' ;"

onmouseout="document['bratrance'].src = 'bratrance.gif' ;"> <img src="bratrance.gif" name="bratrance" border=0></a> </a>')



ako to mam zapisat, aby to bolo v jednom subore, ale aby mi fungovala aj zmena obrazku pri prejdeni mysou ?

dakujem za vsetky odpovede.
Yuhů
Profil
Jdeš na to velmi dobře, akorát se ti třískají apostrofy. Podívej:

document.write(' <a href="pages/bratrance.htm" target="" onmouseover="document['

na tomto druhém apostrofu to vyhnije!



Řešení: Pokud se javascriptem zapisuje složitější věc, už je často nutno používat zaescapované uvozovky nebo zaescapované apostrofy. Escapování vypadá tak, že se před znak napíše zpětné lomítko. Takže prosím zkus toto:

document.write(' <a href="pages/bratrance.htm" onmouseover="document.getElementById(\'bratrance\').src = \'bratrance1.gif\' ;" onmouseout="document.getElementById(\'bratrance\').src = \'bratrance.gif\' ;"> <img src="bratrance.gif" id="bratrance" border="0"></a>')

Netestováno.

Další možný problém je v tom, že uvnitř document.write nesmíš zalomit řádek, pozor na to.

A asi si všimneš, že jsem místo nestandardního Exploreřího zápisu document.['slovo'] jsem použil standardní document.getElementById('slovo') a přejmenoval jsem kvůli tomu name na id.
electronica
Profil
ok. diky. funguje to. niekto tu predtym pisal ze co ked bude mat uzivatel vypnuty javascript ?
ale sak to ma asi kazdy zapate
Leo
Profil
"ale sak to ma asi kazdy zapate"

Myslite? Asi tak 10-15 procent uzivelu nema, a to nepocitam roboty (Google). Leo
electronica
Profil
hm. ako sa to potom riesi? ked su niektore stranky skoro cele v javascripte ?
Fred
Profil
Mně připadá zbytečný v tomhle případě javascript vůbec používat, zkusil bych buď http://www.projectseven.com/tutorials/css/uberlinks/p1.htm , pokud by se mi nechtělo překreslovat obrázky , nebo http://wellstyled.com/css-nopreload-rollovers.html
Leo
Profil
electronica

"hm. ako sa to potom riesi? ked su niektore stranky skoro cele v javascripte ?"

Kdyz je v tom cely web tak tezko, jedine kompletnim prepsanim - ale jako prvni pomoc bych zacal od odkazu - ty by mely byt funkcni bez JS v kazdym pripade. Leo
electronica
Profil
Mně připadá zbytečný v tomhle případě javascript vůbec používat, zkusil bych buď http://www.projectseven.com/tutorials/css/uberlinks/p1.htm , pokud by se mi nechtělo překreslovat obrázky , nebo http://wellstyled.com/css-nopreload-rollovers.html[/i]


ok. ale mne islo hlavne o to ,ze ked mam to menu na viacerych podstrankach a chcem tam nieco zmenit, napr. doplnit dalsie tlacitko, tak to musim robit na kazdej podstranke. keby som to mal v jednom subore, tak zmenim iba raz tam
Fred
Profil
A teď to děláš jak? PHP tam nevidím a javascript není v externím souboru, takže to stejně budeš muset celý předělávat, nehledě na to , že obrázkový odkazy jsou nejsou zrovna nejpraktičtější, nevím proč to tolik lidí nedokáže pořád pochopit. Tak to zkusíme jednoduchou matematikou : mrkni se sem na nějaké výpočty
tvoje řešení : http://paranoia.mysteria.cz/devil/1.htm
naše navrhované : http://paranoia.mysteria.cz/devil/2.htm
O 20kb míň na jedný stránce což je dost protože ty Tvoje obrázky se přenesou sice taky jenom jednou, ale ten kód na každý stránce znovu. Tzn. 16x3.17kb + velikost obrázků 21.09 je 68.64kb. V našem řešení se přenesou jednou pozadí 78b a jednou styl 332b + 16x (954-332b) , těch -332 je ten styl načte se jenom jednou takže celkem se přenese 10.03kb . A tak je to se vším. Proto se používá CSS
Fred
Profil
Ještě pár poznámek.
Tvoje verze: Protože to menu je z obrázků, měli by tam být alty, což by objem dat, ještě o něco zvýšilo.V případě vypnutého js se v podstatě zas tak moc nestane, nebude tam hover efekt, zůstane kurzor ruky.V případě vypnutých obrázků uživatel neuvidí nic, stejně jako je nevidí indexovací robot vyhledávače, což snižuje pagerank webu.
Naše verze: S vypnutým js se nic neděje, vše funguje jak má, s vypnutými obrázky je tam hover efekt barvy pozadí. Robot je schopen indexovat popis odkazu, stejně jako uživatel s poruchou zraku a pod. prostě těch výhod je strašně moc.
Yuhů
Profil
omlouvám se za off-topic, ale

> stejně jako je nevidí indexovací robot vyhledávače, což snižuje pagerank webu

proč by to propána mělo snižovat pagerank webu?
Toto téma je uzamčeno. Odpověď nelze zaslat.