Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] odslanianie litera po literze
Forum PHP.pl > Forum > Przedszkole
xix
Staram sie zrobic krotki javascripcik, ktory odslanialby jakac tresc (np. foo bar) po kliknieciu w klawisz enter na linku. wygladaloby to tak:

Domyslny wyglad zaraz po uruchomieniu strony (tresc foo bar calkowicie zaslonieta, niewidoczne nawet kreski zaslaniajace)
1. link:

i kolejne klikniecia entera na linku powoduja:
2. link: -------
3. link: f------
4. link: fo-----
...
9. link: foo bar

Skrypt kompletnie nic nie robi w tej chwili (nic nie zniknelo i zadne kreski sie nie pojawily) i nie wiem czemu
  1. <script language="javascript">
  2. window.onload=wyswietl;
  3. var zmienna=document.getElementByID('odslon');
  4. function wyswietl()
  5. {
  6. zmienna.innerHTML="";
  7. }
  8. function klawisz()
  9. {
  10. if(event.keyCode==13)
  11. {
  12. document.write(zmienna.replace(/"+"/g,"-"));
  13. }
  14. }
  15. </script>
  16.  
  17. <a href="java script:void(0)" onkeypress="klawisz()">link</a> <div id="odslon"><?php echo $zmienna_z_trescia ?></div>
bastard13
Powinno zadziałać:
  1. var ab_count=0;
  2. var word='moj tekst do wyswietlenia';
  3. var ab_array_with_word=word.split('');
  4.  
  5. function showIt(event)
  6. {
  7. event=(window.event ? window.event : event);
  8. if(event.keyCode==13)
  9. { document.getElementById('el_with_js').innerHTML=document.getElementById('el_with_js').innerHTML+ab_array_with_word[ab_count];
  10. ab_count++;
  11. }
  12.  
  13. }
  14.  
  15. <a href="#" id="el_with_js" onkeypress="showIt(event);">link</a>
  16.  

Oprócz tego tutaj masz parę stron z info nt. zdarzeń js:
http://www.w3schools.com/js/js_events.asp
http://webmade.org/porady/zdarzenia-events-js-javascript.php
http://www.quirksmode.org/js/events_properties.html
https://developer.mozilla.org/en/DOM/event.keyCode
http://www.asquare.net/javascript/tests/KeyCode.html
xix
skrypt mi nie dzialal, ale juz chodzi. uff...
to byl moj blad.

jeszcze musze tam wtrynic (zamiast 'moj tekst do wyswietlenia') $zmienna php, bo tekst jest w zmiennej. jest na to jakies wyjscie?
bastard13
  1. var word='<?php echo $zmienna; ?>';
xix
niestety tak wyswietlony zostanie dokladnie tekst:
<?php echo$zmienna; ?>
zamiast ukryty w tekst w zmiennej $zmienna:
'moj tekst do wyswietlenia'
zegarek84
Cytat(xix @ 28.08.2010, 06:02:20 ) *
niestety tak wyswietlony zostanie dokladnie tekst:
<?php echo$zmienna; ?>
poczytaj o łączeniu kodu html z php...
niżej działający kod - treść nie trzeba przypisywać do zmiennej - masz tak jak w swoim pierwszym przykładzie który podałeś...
  1. <head>
  2. <title>Timer</title>
  3. <script type="text/javascript">
  4. function ini(){
  5. var $zm={};
  6. $zm['link']=document.getElementById('odslon');
  7. $zm['div']=document.getElementById('odsloniane').firstChild;
  8. $zm['text']=new String($zm.div.nodeValue);
  9. $zm['new_text']=new String('');
  10. $zm['znak']=0;
  11. $zm.div.nodeValue='';
  12. $zm.link.onclick=function(){return false;};
  13.  
  14. function showNext(e)
  15. {
  16. var litera=$zm.text.charAt($zm.znak),
  17. e=window.event ? window.event : e;
  18. if(e.keyCode==13 && litera!=='')
  19. {
  20. $zm.new_text=[$zm.new_text,litera].join('');
  21. $zm.div.nodeValue=$zm.new_text;
  22. ++$zm.znak;
  23. }
  24.  
  25. }
  26. $zm.link.onkeypress=showNext;
  27. }
  28. </script>
  29. </head>
  30. <body onload="ini();">
  31. <a id="odslon" href="jakikolwiek/adres">link</a>
  32. <div id="odsloniane">Tutaj jakaś treść</div>
  33. </body>
  34. </html>
xix
ten ostatni kod jest piekny. dzieki bardzo!
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.