Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 96 Pomógł: 0 Dołączył: 11.09.2006 Skąd: Wrocław Ostrzeżenie: (0%)
|
Witam, mam taki dość dziwaczny problem.
A mianowicie mam MENU które jest w liście wypunktowanej, i teraz jak kliknę w jakiś odnośnik pobieram AJAXem dane i wyświetlam je obok menu w panelu. Problem w tym ze po takim kliknięciu odnośnik powinien się zmienić (dostać klase) Robie to w ten sposób że do znacznika 'a' przypisuję funkcję która powinna przelecieć całe drzewo MENU i jeśli gdzieś (w jakimś znaczniku 'a') jest ustawiona klasa (class="active") to usuwa ją , a następnie po tej pętli powinien nadać konkretnemu elementowi klasę (class="active"). Jednak za żadne skarby nie mogę tej klasy nadać, wyświetla mi że obiekt niezdefiniowany. To jest kod mojego menu oraz funkcji w JavaScript która to obsługuje:
A tu zobrazowałem jak to wygląda , żeby lepiej mnie było zrozumieć: (IMG:http://users.finemedia.pl/marcinlis/blad_menu.jpg) Może ktoś wpadnie na coś. Może to jakaś błahostka, ja nad tym siedzę już cały dzień. Jak będzie ktoś coś jeszcze potrzebował to służę uprzejmie - może rozwiążemy to. Dzięki za pomoc, pozdrawiam. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 96 Pomógł: 0 Dołączył: 11.09.2006 Skąd: Wrocław Ostrzeżenie: (0%)
|
CZy tak:>? Kod function treeHover(hover) { var tree = document.getElementById('tree'); var el = tree.getElementsByTagName('a'); for (var i = 0; i < el.length; i++) { if(el[i].className=='active') { el[i].className=''; break; } } hover.className = 'active'; } To nic nie wnosi do sprawy... 1) Nie mogę przerwać petli jak znajdzie znacznik/noda który ma klasę 'active', bo może zdarzyć się tak że niżej w drzewie DOM jakiś inny znacznik będzie miał taka samą klasę , a ja w tej pętli chcę oczyścić całe drzewo MENU z klasy 'active', (wszystkie znaczniki). 2) przy IF w pętli FOR musi być argument toLowerCase(), bo np IE 7 pisze klasy dużymi literami. 3) sprawa usuwania klas jest załatwiona, działa poprawnie, problem dotyczy nadawania klasy elementowi który nie posiada atrybutu ID ani NAME. U siebie załatwiam to tak że w znaczniku 'a' wywołuje funkcję treeHover(this), gdzie 'this' powinien przyjąć wartość podanego elementu. Jedank chyba tak nie jest bo jak wywołuję w funkcji przekazany argument 'this' jako 'hover' np tak alert(hover.href); albo alert(hover.id) -> predzej nadając elementowi jakąś wartość ID , zawsze wyświetla mi 'undefine'. Być może sprawa jeszcze dotyczy zakresu działania/ograniczeni zmiennych ale wydaje mi śie że argument przekazany jak 'this' z linku który trafia do funkcji jako 'hover' ma zasięg globalny. Pozdrawiam, Czekam na dalsze sugestie.... |
|
|
|
Sokrates [JavaScript][CSS] Problem z dynamicznym drzewem MENU 6.08.2008, 17:48:21
lord_t CZy tak:>?
Kodfunction treeHover(hover... 6.08.2008, 20:18:46
lord_t Ad 1) ,2)
Tu wiesz co robić:)
Ad 3)
-Zamień ... 6.08.2008, 21:19:21
Sokrates Cytat(lord_t @ 6.08.2008, 22:19:21 ) ... 7.08.2008, 06:44:31
lord_t Nie działa bo masz to w href. Jak dla a dasz oncli... 7.08.2008, 10:22:19
Sokrates Wielkie dzięki za pomoc... 7.08.2008, 20:55:44 ![]() ![]() |
|
Aktualny czas: 30.12.2025 - 04:14 |