Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] automatyczna zamiana linku
Forum PHP.pl > Forum > Po stronie przeglądarki
!*!
hmm nie mogę chyba wczytać tego z funkcji odczytywanej przez osobny plik js, a to dlatego że php musi odczytywać ciągle nowe zmienne. Zrobiłem coś takiego:

  1. <?php
  2. echo '<div style="cursor:pointer;" name="'.$f.'" onClick="document.getElementById(''.$wiersz['login'].'').style.display='block';">rozwiń</div>';
  3. echo '<div style="display: none" id="'.$wiersz['login'].'"><br /><a href="gg:'.$wiersz[dom].'"></a>
  4. <div style="cursor:pointer;" name="'.$f.'" onClick="document.getElementById(''.$wiersz['login'].'').style.display='none';">zwiń</div>
  5. </div>';
  6. ?>


wszystko wczytywane jest przez while i dodawane do każdego wyniku z osobna... ale czy jest możliwość w tym JS utworzenia jednego diva który będzie na poczatku wyświetlał "rozwiń" a po kliknieciu w niego zamieni się automatycznie w "zwiń" ?
arecki
Spróbuj dostosować to do swoich potrzeb :

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <title>Insert title here</title>
  6. <style type="text/css">
  7.  
  8. .divA {
  9. border: 1px solid #222;
  10. padding: 10px;
  11. width: 100px;
  12. }
  13.  
  14. <script type="text/javascript">
  15. //<![CDATA[
  16.  
  17. function showOrHideDivWithTextChange(divId, divWithText) {
  18. var div = document.getElementById(divId);
  19. if(div.style.display == 'block') {
  20. div.style.display = 'none';
  21. divWithText.innerHTML = 'rozwiń';
  22. } else {
  23. div.style.display = 'block';
  24. divWithText.innerHTML = 'zwiń';
  25. }
  26. }
  27.  
  28. //]]>
  29. </head>
  30.  
  31. <div style="cursor:pointer;" id="textToChange" onClick="javascript:showOrHideDivWithTextChange('login_name', this);">rozwiń</div>
  32. <div style="display: none" id="login_name" class="divA"><a href="gg:1234">numer gg</a></div>
  33.  
  34. </body>
  35. </html>
!*!
widzisz, problem polega na tym iż nie moge zastosować funkcji w tym, ponieważ musiałbym cały kod powtarzać w while, i przy 10000 wyniku to za dużo tego, każda funkcja musiałaby być przypisana do osobnego diva
lord_t
Raz byś sobie zdefiniował funkcję, a później ją wywoływał tylko. (10 000 razy to dużo, fakt, no ale jak inaczej)snitch.gif? Bo mi sie wydaje, że ty myślałeś o tym, żeby do każdego diva wpisać całą tą funkcję:>
!*!
lord_t - do każdego diva musi być przepisana osobna funkcja... tzn. każdy div ma inną nazwę, i to w zależności od nazwy funkcja ma sprawdzać czy div jest ukryty/pokazany czy nie... jakbym napisał funkcje to nie odwołam się do niej bo niby jak?
arecki
I tak w pętli generujesz nazwe DIV'a to co za problem tą samą wartość wpisać w wywołanie funkcji w zdarzeniu onclick ?
lord_t
Cytat(!*! @ 29.03.2008, 18:22:47 ) *
do każdego diva musi być przepisana osobna funkcja... [...] jakbym napisał funkcje to nie odwołam się do niej bo niby jak?


Czy ty rozumiesz istotę funkcji? Do każdego diva musi być przypisane osobne wywołanie funkcji a nie funkcja.
Nie robi się tak:

Cytat(pseudokod)
fun1(){echo "Ala";}
fun2(){echo "Kot";}
fun3(){echo "mieć";}

fun1();fun2();fun3();


tylko tak:

Cytat(pseudokod)
fun(argument){echo argument;}

fun("Ala");fun("Kot");fun("mieć");
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.