Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Kodowanie w połaczeniu PHP/JS
Forum PHP.pl > Forum > Przedszkole
-stefik4-
Witam. Napisałem skrypt który dynamicznie wyświetla zdania, tzn zdanie rozwija sie od lewej do prawej po 1 znaku co 70ms.
  1. <script type="text/javascript" charset="utf-8">
  2. function prin(ile,tekst){
  3. a= new Array();
  4. //Mam na imię Michał :)
  5. var max=23;
  6. a[0] = "M";
  7. a[1] = "a";
  8. a[2] = "m";
  9. a[3] = " ";
  10. a[4] = "n";
  11. a[5] = "a";
  12. a[6] = " ";
  13. a[7] = "i";
  14. a[8] = "m";
  15. a[9] = "i";
  16. a[10] = "";
  17. a[11] = "";
  18. a[12] = " ";
  19. a[13] = "M";
  20. a[14] = "i";
  21. a[15] = "c";
  22. a[16] = "h";
  23. a[17] = "a";
  24. a[18] = "";
  25. a[19] = "";
  26. a[20] = " ";
  27. a[21] = ":";
  28. a[22] = ")";
  29. if(ile<max){
  30. var string = tekst+''+a[ile];
  31. document.getElementById("a").innerHTML = string;
  32. ile+=1;
  33. window.setTimeout("prin("+ile+",'"+string+"');", 70);
  34. }
  35. }


To co jest zakodowane bierze sie z pewnej zmiennej PHP i jest rozwalane w php i php tworzy tablice JSową.

  1. <script type="text/javascript" charset="utf-8">
  2. function prin(ile,tekst){
  3. a= new Array();
  4. <?
  5. echo '//'.$odp."\n";
  6. $text = str_replace(' ','_',$odp);
  7.  
  8. $newtext = wordwrap($text, 1, "|", true);
  9. $d = explode('|',$newtext);
  10. echo 'var max='.count($d).';';
  11. foreach($d as $key => $value){
  12.  
  13. $value = str_replace('_',' ',$value);
  14.  
  15. a['.$key.'] = "'.($value).'";';
  16. }
  17. ?>
  18.  
  19. if(ile<max){
  20. var string = tekst+''+a[ile];
  21. document.getElementById("a").innerHTML = string;
  22. ile+=1;
  23. window.setTimeout("prin("+ile+",'"+string+"');", 70);
  24. }
  25. }
  26. </script>


Na stronie mam w meta ustawione też UTF-8. Kodowanie całego pliku mam także utf-8. Wszytskie testy sa wyswietlane poprawnie, tylko ten gdy się rozwija to się tworza krzaczki.
#luq
Odbiegając od głównego problemu.

Po co rozbijasz to na tablice, już odbiegam od tego że robisz to w dziwny sposób przypisując kolejno do indeksów, a można by zrobić tak:

[JAVASCRIPT] pobierz, plaintext
  1. var arr = ['a', 'b', 'c'];
[JAVASCRIPT] pobierz, plaintext

?

Możesz przecież normalnie korzystać ze stringa:

[JAVASCRIPT] pobierz, plaintext
  1. var text = 'ala ma kota';
  2.  
  3. for(var i = 0; i < text.length; i++){
  4. console.log(text.charAt(i));
  5. }
[JAVASCRIPT] pobierz, plaintext
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.