![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 1 Dołączył: 19.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
otóż zaczynam swą zabawę z JavaScriptem. Celem tej "zabawy" jest zrobienie czegoś więcej, więc się za to zabrałem. Ale teraz mam problem. Zrobiłem w PHP ładnie działający menager plików. Wymyśliłem, sobie, że przy każdym pliku (czyli kolejnym "obrocie" pętli), tworzyła się jedna funkcja z numerkiem na końcu, by się nie pomieszały i każdy plik mógł być oddzielnie wyświetlony w odpowiednim divie, po najechaniu na nazwę pliku. Niestety, coś nie tak działało, postanowiłem skrócić kod by zobaczyć gdzie leży przyczyna. Skończyło się na pokazaniu nazwy, lecz problem pozostał. Problem objawia się w ten sposób, że tylko mogę "zobaczyć" ostatni plik po najechaniu na jakikolwiek. Miejsce wyświetlenia nazwy: Zapętlona część odpowiedzialna, za pokazywanie pliku, oraz ten trefny skrypt w JS:
I teraz moje pytanie, gdzie leży przyczyna? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
W HTML możesz mieć tylko jeden element o określonym id, jeśli będziesz miał ich więcej, to metoda getElementById() wybierze ostatni taki element. Generowanie kilku różnych funkcji różniących się jedynie liczbą na końcu jest bez sensu i przeczy jednej z podstawowych zasad programowania - regule DRY (nie powtarzaj się). Tymczasem można by stworzyć tylko jedną funkcję o nazwie Pokaz, a identyfikator lub numer elementu do wyświetlenia przekazywać jako argument tej funkcji.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko to co piszesz da się zrobić w css bez potrzeby używania js z pomocą pseudoklasy :hover. Poza tym całkowicie zgadzam się z mortus'em. Powinna być od tego jedna funkcja przyjmująca jako parametr id zmienianego wiersza/obrazka.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 08:55 |