ďťż

[javascript] Problem z pokazaniem tekstu w menu

       

Podstrony


telcocafe

Mam problem ze skryptem:
w sekcji <head> mam
<script type="text/javascript"> function pokaz(str) { var pozycjemenu = new Array ("Home","Kontakt","Katalog produktów","Dodaj do ulubionych","Mapa strony","polski","deutsch","english"); document.getElementById("tekstmenu").style.visibility = "visible"; var ciag=pozycjemenu[str]; return ciag; } function ukryj() { document.getElementById("tekstmenu").style.visibility = "hidden"; } </script>

następnie w jednym z div-ów w <body>
<script type="text/javascript"> document.write(ciag); </script>

wywołanie w innym div-ie wygląda tak
<img src="./grafika/home_ico.png" alt="Strona domowa" class="d_ikony" onmouseover="pokaz(0);" onmouseout="ukryj();" />

Oczywiście wywołań jest kilka (dla wszystkich odnośników w menu odpowiednio z pokaz(0) do pokaz(7)).
Moje pytanie: co jest nieprawidłowo napisane w kodzie i powoduje brak reakcji przy najechaniu myszą na obrazek menu?

Proszę o podanie rozwiązania problemu, dodam że zakładałem że funkcja pokaz() zwróci zmienną ciąg i będę mógł ją wypisać przy użyciu metody document.write(). Nie wiem czy to błędne założenie czy coś innego w kodzie się nie zgadza?



funkcje nie ustawiają zmiennej tylko zwracają samą wartość. Najlepiej było by zrobić tak, żeby funkcja ustawiała zawartość diva, bez zabawy z document.write.
Użytkownik someone edytował ten post 28 lipiec 2009, 22:24
A ja polecam CSS do tego typu spraw. Nie potrzeba JS :) Możesz podejrzeć własności CSS i znaczniki XHTML za pomocą Firebug, aby zobaczyć, jak to jest zrobione. Przy okazji nie skomplikuj kodu - im mniej, tym szybciej.

http://www.cssplay.c...s/dd_valid.html
http://examples.code...nu/HCSSMenu.php
http://webpagemenu.c...ading-menu.html
Użytkownik Ferrari edytował ten post 29 lipiec 2009, 00:34

A ja polecam CSS do tego typu spraw. Nie potrzeba JS :) Możesz podejrzeć własności CSS i znaczniki XHTML za pomocą Firebug, aby zobaczyć, jak to jest zrobione. Przy okazji nie skomplikuj kodu - im mniej, tym szybciej.

http://www.cssplay.c...s/dd_valid.html
http://examples.code...nu/HCSSMenu.php
http://webpagemenu.c...ading-menu.html

Wiem, że takie menu jak pokazałeś w tych przykładach można zrobić za pomocą CSS ale mi chodzi o inny rodzaj menu. Nie ma żadnych rozwijanych list tylko po najechaniu na obrazek w menu ma się pokazywać jego opis, a nie pozycje w podmenu. Poza tym menu nie jest "zbite" w jednym div-ie tylko ikony menu są w jednym div-ie, a podpisy (opisy) ikon mają się wyświetlać w innym.


funkcje nie ustawiają zmiennej tylko zwracają samą wartość. Najlepiej było by zrobić tak, żeby funkcja ustawiała zawartość diva, bez zabawy z document.write.
Rozumiem, że funkcja zwraca wartość, ale żeby ją później wykorzystać (nie wywołując ponownie funkcji) należy przypisać ją do zmiennej.
Jak proponujesz ustawić zawartość div-a bez document.write ?



var div = document.getElementById('id_diva'); div.innerHTML = 'Jego zawartość'; //Ewentualnie możesz użyć funkcji DOM: var el = document.createElement('nazwa_znacznika'); el.atrybut = 'wartość'; div.appendChild(el);


var div = document.getElementById('id_diva'); div.innerHTML = 'Jego zawartość'; //Ewentualnie możesz użyć funkcji DOM: var el = document.createElement('nazwa_znacznika'); el.atrybut = 'wartość'; div.appendChild(el);
Dziękuję za pomoc, udało mi się właśnie rozwiązać ten problem dzięki document.getElementById('id_div-a').innerHTML = "Tekst div-a".

Jakby ktoś chciał skorzystać, to podaję rozwiązanie:
w sekcji <head>
<script type="text/javascript"> <!-- var pozycjemenu = new Array("Home","Kontakt","Katalog produktów","Dodaj do ulubionych","Mapa strony","polski","deutsch","english"); function pokaz(str) { document.getElementById('tekstmenu').innerHTML = pozycjemenu[str]; document.getElementById("tekstmenu").style.visibility = "visible"; } function ukryj() { document.getElementById("tekstmenu").style.visibility = "hidden"; } --> </script>

Wywołanie
<img src="./grafika/home_ico.png" alt="Strona domowa" class="d_ikony" onmouseover="pokaz(0);" onmouseout="ukryj();" />
Użytkownik Poldas edytował ten post 29 lipiec 2009, 11:16
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.