Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z JS (toggle), Mocno początkujący prosi o pomoc
viperpl
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 9.01.2011

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


Problem dotyczy rozwijanego diva za pomocą takiego JS:

  1. <script type="text/javascript">
  2. function toggle( link )
  3. {
  4. var node = link.parentNode;
  5. // while loop not needed in code as shown, but here just in case:
  6. while ( node.tagName != "DIV" )
  7. {
  8. node = node.parentNode;
  9. if ( node == null ) return; // abort
  10. }
  11. var hider = node.getElementsByTagName("div")[0];
  12.  
  13.  
  14. link.innerHTML = ( link.innerHTML == "<img src='images/index/minus.png'>" ) ? "<img src=images/index/plus.png>" : "<img src='images/index/minus.png'>";
  15. hider.style.display = ( link.innerHTML == "<img src='images/index/minus.png'>" ) ? "none" : "block";
  16.  
  17. return false; // so the href does nothing
  18. }


Wywołuję to za pomocą:

  1. <a href="java script:;" onclick="toggle(this);">a</a>


Problemem jest to, że jeśli za chowanie i pokazywanie diva odpowiada <img src='images/index/minus.png'> oraz <img src='images/index/plus.png'> to skrypt nie działa, w przypadku kiedy umieszczę jakikolwiek tekst wszystko jest ok. Od piątku się z tym męczę, kombinowałem z document.write w celu osadzenia tagów html js... ale bez skutku - cóż, to moja pierwsza styczność z JS.


Dziękuję za pomoc.

Ok, już sobie poradziłem. Przekombinowałem z " i zapomniałem o \ przed " smile.gif

Niby sobie poradziłem, ale nie do końca. Wszędzie poprawiony kod działa, poza IE (ver. 8). Sądziłem, ze problem dotyczy onclick, jednak chyba nie - bo po zastąpieniu
  1. link.innerHTML = ( link.innerHTML == "Dopasuj do motocykla<img src=\"images/index/minus.png\">" ) ? "Dopasuj do motocykla<img src=\"images/index/plus.png\">" : "Dopasuj do motocykla<img src=\"images/index/minus.png\">";
tekstem bez grafiki kod działa w każdej przeglądarce.


Go to the top of the page
+Quote Post

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: 21.08.2025 - 14:25