Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wystwietlanie danych z JS w HTML
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
barthezz
Witam.
Nigdy nie miałem styczności z JS a niestety mam do wykonania pewnie zdanko tongue.gif Otóz trzeba wygenerowac liczby od 1-30, stwierdzić, które są parzyste a które nie i je wyświetlić w tabelce skonfigurowanej za pomocą CSS'a. Mam te dwie rzeczy, ale nie potrafie wyświetlić tych danych w tabelce..

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
  2. <meta http-equiv="Content-type" content="text/html; charset=iso 8859-2">
  3. <meta name="Author" content="x">
  4. <meta name="Generator" content="kED2">
  5. <title>JavaScript</title>
  6. <link rel="stylesheet" href="style.css" type="text/css">
  7. </head>
  8.  
  9. //SKRYPT NA LOSOWANIE LICZB!
  10. <script type="text/javascript">
  11. for (i=0; i<30; i++) {
  12. document.write(i+". ");
  13. (x=Math.floor(Math.random()*0) + Math.round(Math.random()*20)); //przedział od 0-20.
  14. if (Math.floor(x/2)==x/2) {document.write(x+' jest parzysta')} else {document.write(x+' nie jest parzysta')}
  15. document.write ("<BR>");
  16. }
  17.  
  18. <table align=center>
  19. <tr>
  20. <td align=center bgcolor=#bbb style=width:125px>Numer liczby</td><td align=center bgcolor=#bbb style=width:125px>Liczby parzyste</td><td align=center bgcolor=#bbb style=width:125px>Liczby nieparzyste</td>
  21. </tr>
  22. <tr>
  23. <td align=center bgcolor=#eee> </td><td align=center bgcolor=#eee> </td><td align=center bgcolor=#eee> </td>
  24. </body>
  25. </html>
Turson
[JAVASCRIPT] pobierz, plaintext
  1. for (i=0; i<30; i++)
[JAVASCRIPT] pobierz, plaintext

var i

Włącz konsolę i zobacz co mówi
com
Turson
Nie zrozumiałeś autora a var nie gra tu roli, bo równie dobrze można go pominąć ale lepiej go dawać żeby się nie pomylić gdzieś odwołując do undefinded, jeśli chcesz dynamicznie wpisywać do tej tabelki to musisz ja tworzyć w js nie na sztywno w html wink.gif
barthezz
Cytat(com @ 19.12.2013, 16:43:17 ) *
Turson
Nie zrozumiałeś autora a var nie gra tu roli, bo równie dobrze można go pominąć ale lepiej go dawać żeby się nie pomylić gdzieś odwołując do undefinded, jeśli chcesz dynamicznie wpisywać do tej tabelki to musisz ja tworzyć w js nie na sztywno w html wink.gif


To mi właściwie nic nie mówi bo i tak tego nie potrafię zrobić.. Dobra.. A jak zrobić aby liczby parzyste wyświetlały się w jednej kolumnie a nieparzyste obok? | nr liczby | liczby parzyste | liczby nieparzyste |
Dark Smark
Brakuje Ci sposobu myślenia programisty.
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
  2. <meta http-equiv="Content-type" content="text/html; charset=iso 8859-2">
  3. <meta name="Keywords" content=" pogrzeb,?mierć,wifi,lepsze jutro,trumna premium,">
  4. <meta name="Author" content="Bartosz Lorek">
  5. <meta name="Generator" content="kED2">
  6. <title>JavaScript</title>
  7. <link rel="stylesheet" href="style.css" type="text/css">
  8. </head>
  9.  
  10.  
  11.  
  12. <table align=center>
  13. <tr>
  14. <td align=center bgcolor=#bbb style=width:125px>Numer liczby</td><td align=center bgcolor=#bbb style=width:125px>Liczby parzyste</td><td align=center bgcolor=#bbb style=width:125px>Liczby nieparzyste</td>
  15. </tr>
  16. <script type="text/javascript">
  17. //SKRYPT NA LOSOWANIE LICZB!
  18. var iloscLiczb = 30;
  19. var maxLiczba = 20;
  20. for (i=0; i<iloscLiczb; i++) {
  21. document.write("<tr><td align=center bgcolor=#eee><b>"+i+"</b></td>");
  22. (x=Math.floor(Math.random()*0) + Math.round(Math.random()*maxLiczba)); //przedział od 0-20.
  23. if (Math.floor(x/2)==x/2) {document.write("<td align=center bgcolor=#eee>"+x+"</td><td align=center bgcolor=#eee></td>")} else {document.write("<td align=center bgcolor=#eee></td><td align=center bgcolor=#eee>"+x+"</td>")}
  24. document.write ("</tr>");
  25. }
  26. </body>
  27. </html>


Zmodyfikowałem z deka wzbogacając o zmienna iloscLiczb i maxLiczba.
PrinceOfPersia
Cytat(com @ 19.12.2013, 16:43:17 ) *
Turson
Nie zrozumiałeś autora a var nie gra tu roli, bo równie dobrze można go pominąć ale lepiej go dawać żeby się nie pomylić gdzieś odwołując do undefinded,

Bez var, wyjdzie nam zmienna globalna (zamiast lokalnej). W tym wypadku to raczej bez roznicy, bo i tak autor korzysta ze zmiennej globalnej (bo nie wstawił pętli w żadną funkcję, mimo że tak byłoby bardziej elegancko), ale var a bez var to jest kolosalna różnica w większości przypadków. Coś jak global $zmienna, a $zmienna w PHP, tylko że odwrotnie, bo w JS zmienne są domyślnie globalne.

Do ustalania parzystości można zastosowac operator reszty z dzielenia:
if (liczba % 2 == 0) alert('liczba jest parzysta');

Samo wystylowanie można (ale nie trzeba) zrobić w samym CSS: nth-child(odd), jesli dobrze pamietam.

Edit. To document.write też nie jest zbyt eleganckie, ale co poradzić... (Jesli to pierwszy skrypt autora w JS to ujdzie w tłumie wink.gif
barthezz
Jak mam wypisać tablicę 200 element. w postaci tabeli 20x10 to robię tablicę dwuwymiarową?
CODE

var tablica = new Array(200);
for(var i in tablica) {
var tablica[i]= new Array(200);
for(var j in tablica[i]) {
tablica[i,j]=Math.floor(Math.random()*0 + Math.round(Math.random()*1));
document.write(tablica[i,j]); //wypisanie tablicy
}}
barthezz
Cytat(werdan @ 19.12.2013, 20:15:21 ) *


Super, tylko mam problem z wypisaniem.

CODE
var tablica = [];
for(var i = 0; i < 20; i++){
tablica[i] = [];
for(var j = 0; j < 10; j++){
tablica[i][j] = Math.floor(Math.random()*0 + Math.round(Math.random()*1));
}
}
for(var i=0;i<20;i++) {
for(var j=0;j<10;j++) {
document.write("<tr><td align=center bgcolor=#ddd>"+tablica[i,j]+"</td>")}
document.write ("</tr>")}


W tym przypadku wypisuje mi po 10 elementow w jednym wierszu. Efekt jaki chciałbym osiągnąć to 20 wierszy i 10 kolumn z 1 elementem każdy.
werdan
  1. tablica[i][j]


Tak sprobuj.
barthezz
Zrobiłem - efekt wink.gif W/w koncepcja nie do końca działała, ale dałem radę smile.gif. Teraz liczyłbym na perfidnego gotowca ;P Otóż:
Oblicz długość:
- najdłuższego podciągu składającego się z samych zer,
- najdłuższego podciągu składającego się z samych jedynek,
- zaznacz odmiennymi kolorami najdłuższe ciągi zer i jedynek.

Nie wiem jak bezdusznym nauczycielem trzeba być, aby zadać coś takiego osobie, która nigdy nie miała styczności z Javascript tongue.gif.
werdan
Mozesz sie klasc spac biggrin.gif

http://jsbin.com/obOPAGIl/1

w max0 i max1 masz liczba najdłuzszych.

Duble nie sa uwzglednione. Tylko pierwszy lepszy biggrin.gif
PrinceOfPersia
To zadanie ze szkoły? To trochę mieszanie dwóch zagadnień. Algorytmów i tworzenia stron internetowych. Podczas, gdy każde zagadnienie wymagałoby osobnej uwagi, bo inaczej ani to ani to nie zostanie dobrze zrobione.

- najdłuższego podciągu składającego się z samych zer,
Najprostszy sposób to chyba przejechanie sie tablicy, i jesli masz na poczatku zero, to ustawiasz gdziesz flage JestZero=true, i jedziesz dalej. Jesli jest zero, to jedziesz dalej. Az bedzie jeden. Wtedy masz "podciąg". Zapisujesz gdzies w osobnej tablicy PodciagiZero dane czyli wspolrzedne podciagu i dlugosc.

a potem musisz przejechac sie po tablicy podciagow i wybrac najdluzszy.

Analogicznie z podciagami jedynkowymi (zapisujesz do tablicy PodciagiJeden)

Tak mi przyszlo do glowy, co nie znaczy, ze bedzie to specjalnie wydajny algorytm (ale nie wiem co ci beda oceniac, czy tylko to czy dziala czy beda patrzec na zlozonosc obliczeniowa i inne bajery?)
barthezz
Cytat(werdan @ 19.12.2013, 22:43:14 ) *
Mozesz sie klasc spac biggrin.gif

http://jsbin.com/obOPAGIl/1

w max0 i max1 masz liczba najdłuzszych.

Duble nie sa uwzglednione. Tylko pierwszy lepszy biggrin.gif


Dzięki wielkie.. Straszne jest to, że coś takiego miałem sam napisać..
//EDIT: Coś wypelnianie kolorami nie działa prawidłowo, ale i tak wieelkie podziękowania ;]

Cytat(PrinceOfPersia @ 19.12.2013, 22:49:42 ) *
Tak mi przyszlo do glowy, co nie znaczy, ze bedzie to specjalnie wydajny algorytm (ale nie wiem co ci beda oceniac, czy tylko to czy dziala czy beda patrzec na zlozonosc obliczeniowa i inne bajery?)

Wedle mnie może być i 1000 linijek kodu tongue.gif Po prostu ma działać. Niech się nauczyciel męczy;]
werdan
> //EDIT: Coś wypelnianie kolorami nie działa prawidłowo, ...

Co jest nie tak?
barthezz
Cytat(werdan @ 19.12.2013, 23:17:38 ) *
Co jest nie tak?


Zmień u siebie kolor, gdy wypadnie fałsz w ostatnim ifie ;]
werdan
Kurde nadal nie wiem co jest nie tak biggrin.gif
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.