Autor Zpráva
Mihhc
Profil
Zdravím,

prosím o rady, jak udělat zvýrazněnou kotvu.

1) ZVÝRAZNĚNÁ KOTVA
Studoval jsem to dlouho, http://diskuse.jakpsatweb.cz/?action=vthread&forum=3&topic=19011 a http://www.pixy.cz/pixylophone/2005_03_archiv.html#1110561223.
Představoval bych si něco jako když tady v diskuzích kliknete na #1. Aby se mi za mým textem objevilo třeba žluté pozadí a během 2, 3 vteřin vybledlo. Kotvy již mám, předělal jsem je i do "id". Bohužel v JS znám tak dvě, tři věty ... takže to bych potřeboval návod jak do školky :)(co kam vložit).

Nejlépe nějak pod lupou rozebrat ten pixyho návod.
<a href="#Golf">
<h2><a id="Golf" style="color: rgb(102, 102, 102);" href="fotogallery/fotogallery1.html">Golf</a></h2>


Děkuju MIhh
Str4wberry
Profil
Kód z návodu udělá to, že po načtení stránky vezme location.hash (tedy to v adresní řádce za #), najde podle něj element na stránce s odpovídajícím atributem id a přidá mu třídu itemhilited.

Když si vytvoříš animovaný GIF, který během 2–3 vteřin vybledne, a použiješ ho jako pozadí pro .itemhilited {}, tak se ti při načtení tvé stránky s odpovídajícím hashem přehraje animace.
Mihhc
Profil
Díky,
dneska jsem se k tomu dostal. Vytvořil jsem si ten animovaný gif.
No teoreticky to jakž takž chápu. V praxi bohužel vůbec nevím co mám kam napsat. Zatím mám toto.

<head>
<script>
window.onload = init;

function init() { hilite_anchor() }

function hilite_anchor() {
  var o, h = document.location.hash;
  if (h) {
    h = h.substr(1);
    o = document.getElementById(h);
    if (o) o.className += ' itemhilited';    } }
</script>

<style> .itemhilited  { background-image: url (gif_all.gif);  background-repeat: repeat-x} </style>
</head>

<body>
<a href="#Golf">
<h2><a  class="itemhilited" id="Golf" style="color: rgb(102, 102, 102);" href="fotogallery/fotogallery1.html">Golf</a></h2>
</body>


Omlouvám se, ale JS opravdu není můj kamarád.
Str4wberry:
Byl bych rád, abych kliknul na <a href="#Golf">, a stránka se posunula k <a id="Golf"> a za nadpisem Golf se přehrála ona animace.
Str4wberry
Profil
1) V deklaraci obrázku na pozadí je chyba. Za url přebývá před závorkou mezera.
2) Odkaz <a href="#Golf"> by zřejmě měl mít obsah a ukončovací značku </a>.
3) Element, který má být zvýrazněn, nemůže mít nastavenou třídu pro zvýraznění už přímo v HTML, nastaví ji až dle potřeby JavaScript.
4) Pokud je cílem, aby zvýraznění proběhlo i po kliknutí (uvedený návod řeší pouze situaci načtení stránky), je nutno to řešit nad rámec odkázaného návodu:
    a) Po kliknutí na odkaz nastavit document.location.hash na požadovanou hodnotu a zavolat funkci hilite_anchor(),
    b) vytvořit si novou funkci, která dostane jako parametr ID elementu a zvýrazní jej,
    c) použít časovač, který bude kontrolovat změnu hashe a v jejím případě provede zvýraznění.
Mihhc
Profil
1), 2) já to psal jen sem jaksi ne úplně košer.(u sebe to mám celé, zapsané trochu jinak, to bylo pro přehlednost a krátkost)
3) psal jste třídu itemhilited, já jiné třídy ještě bohužel neznám.
4) bohužel, vypadá to, že bych musel zase nějaký týdny musel obětovat studiu JS, což udělám ... ale dva týdny nyní nemohu, jen jsem doufal ve funkční kod.
4.1.) Pokud je to pro někoho velmi snadné, tak mi prosím načrtněte do mého kodu, co bych měl kam vložit. Bohužel nežertuji, že to je pro mě stále španělská vesnice
Moje vize: Byl bych rád, abych kliknul na <a href="#Golf">, a stránka se posunula k <a id="Golf"> a za nadpisem Golf se přehrála ona animace.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0