Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JAVASCRIPT] IE8 Object required
TheaSiX
post
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 10
Dołączył: 3.09.2006
Skąd: Bishop Auckland

Ostrzeżenie: (0%)
-----


Napisalem prosty skrypt do animowanego menu, chodzi tylko o pojawianie się menu z góry w dół. W firefoxie wszystko działa jak należy. Niestety sytuacja przedstawia się o wiele gorzej w IE. dostaje błędy:

Cytat
Webpage error details
Message: Object required
Line: 17
Char: 4
Code: 0

Message: Object required
Line: 6
Char: 4
Code: 0


oto kod skryptu:

  1. function showUnderMenu(the_number){
  2. var the_number = parseInt(the_number);
  3. var all_divs = window.document.getElementsByName('menu-content');
  4. for(var loop=0;loop < all_divs.length+1;loop++) {
  5. if(loop == the_number) {
  6. var div_vis = all_divs.item(loop).style.visibility;
  7. if(div_vis == "hidden") {
  8. all_divs.item(loop).style.height = "0px";
  9. all_divs.item(loop).style.visibility = "visible";
  10. slideDiv(loop);
  11. }
  12. else {
  13. all_divs.item(loop).style.visibility = "hidden";
  14. }
  15. }
  16. else {
  17. all_divs.item(loop).style.visibility = "hidden";
  18. }
  19. }
  20. }


nie mam zielonego pojęcia dlaczego. Próbowałem zamiast zmiennych użyć całych ścieżek obiektu (window.document.get bla bla), ale to nie pomogło. Ktoś wie dlaczego w IE8 wszystko się sypie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


nie byłem pewny do końca (choć w sumie byłem dlatego pod tym kontem przeszukiwałem neta)
Cytat
@Rex - Nelson is annoyed about the fact that getElementsByName(name) does NOT return the correct results in IE6, IE7, [[AND WAS NOT FIXED IN IE8!!!]

w necie jest sporo fix'ów na to - więc albo z nich skorzystaj albo użyj innej metody do znajdowania elementów (IMG:style_emoticons/default/winksmiley.jpg)

Cytat(lord_t @ 2.02.2010, 01:02:28 ) *
Co to za metoda item()? Domyślam się jej działania, ale nie umiem naleźć na jej temat ani słowa na googlu. Czemu nie używasz po prostu nawiasów kwadratowych do wybrania elementu tablicy?

https://developer.mozilla.org/pl/DOM_i_JavaScript
Cytat
Używamy również anchorTags[i], tej samej składni, która w JavaScripcie używana jest przy dostępie do i-tego elementu tablicy. Neutralnie językowym sposobem jest używanie metody item(), zdefiniowanej w interfejsie NodeList): anchorTags.item(1).href. Jednak większość implementacji JavaScriptu pozwala na używanie prostszej, tablicowej składni i takiej właśnie używa większość ludzi.


w php w DOM np. już przez tablicę nie da się odwołać (IMG:style_emoticons/default/winksmiley.jpg) - ogólnie jest to odwołanie do kolejnego z elementów dom na liście

Ten post edytował zegarek84 2.02.2010, 01:14:09
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 05:00