Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Pytania z podstaw JS, rzeczy których jesze nie do końca rozumiem
Caporeira
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 27.11.2014

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


Czytam tutoriale ale wiekszośc po angielsku, ogólnie rozumiem ale nie zawsze ogarniam cel stosowania i dokładną zasadę.
Dlatego chciałem w tym wątku zadawać pytania (podstawy) których nie rozumiem do końca.

Do czego służą polecenia (co robią):

- this.
- trigger.connect i trigger.fire
- call
- EventListener
- if(mechanic)
- var x = document.getElementById("group") - pobiera nazwę z group (co to jest group?) i przypisują do zmiennej x ?

Fajnie by było jak by ktoś mógł to wyjaśnić na takich zrozumiałych przykładach smile.gif
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


1. http://ferrante.pl/frontend/javascript/this-w-javascript/
2. Właściwości obiektu trigger
3. Zmienna call, ale może chodziło Ci raczej o: https://developer.mozilla.org/en-US/docs/We...s/Function/call
4. Znów wyrwane z kontekstu, ale może: http://www.w3schools.com/js/js_htmldom_eventlistener.asp
5. Jeśli zmienna mechanic jest prawdą
6. http://www.w3schools.com/jsref/met_doc_getelementbyid.asp

Wydaje mi się, że źle się zabierasz za naukę, pytania jakie zadajesz dotyczą bardziej analizy działania konkretnego skryptu (vide pytanie 2 czy 5).


--------------------
Go to the top of the page
+Quote Post
Caporeira
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 27.11.2014

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


1. Czyli on odnosi się do obiektu globalnego ? Mogę za jego pomocą odwoływać się do globalnego obiektu, ale już definiować globalny obiekt za jego pomocą się nie da ?

2. Co do trigger chodzi mi o takie funkcje:
http://dev.nomado.com.pl/pastebin/IGdgubAq
Co one robią ? Jakie majązadanie ?

3. Co do call chodzi mi o tę funkcję:
http://dev.nomado.com.pl/pastebin/EZNw5qh6

4. http://dev.nomado.com.pl/pastebin/2AAiewDF

5. Czyli to to samo co zapis if (mechanic == true) ?

6. Czyli tutaj obiekt/zmienną mam przypisaną do x, i od tej pory operacje mogę przeprowadzać na x ?

Może od złej, ale chce się nauczyć. Szukałem już nawet korypetytora ... ale już 7 osób po zobaczeniu moich skryptów zerwało kontakt. Tylko jedna osoba powiedziała że nie da rady.
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


1. Między innymi, nie przeczytałeś chyba całości.
2./3. Wszystko masz opisane niżej. EventListener nasłuchuje na dane zdarzenie i gdy to zaistnieje, jest uruchamiana funkcja. Call pozwala wywołać funkcję po stronie serwera.
4. Wywołujesz ręcznie dany trigger.
5. Tak, przy czym: http://stackoverflow.com/a/359509
6. Z drzewa DOM jest pobrany element o id="group" i przypisany do zmiennej "x". Tak.

Nadal uważam, że złą drogą idziesz. Zacznij od podstawowego kursu JS, zamiast analizować kod jakiegoś obiektu webMI.


--------------------
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #5





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Cytat(trueblue @ 6.02.2015, 11:47:39 ) *
... Call pozwala wywołać funkcję po stronie serwera....

od kiedy JSowy call pozwala wywołać funkcję po stronie serwera? smile.gif
Go to the top of the page
+Quote Post
trueblue
post
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Cytat(Mlodycompany @ 6.02.2015, 12:33:52 ) *
od kiedy JSowy call pozwala wywołać funkcję po stronie serwera? smile.gif


Cytat(Caporeira @ 6.02.2015, 11:26:00 ) *
3. Co do call chodzi mi o tę funkcję:
http://dev.nomado.com.pl/pastebin/EZNw5qh6



--------------------
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #7





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


ale gafa, nie doczytałem. wybacz wink.gif
Go to the top of the page
+Quote Post
Caporeira
post
Post #8





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 27.11.2014

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


Zabrałem się ta kurs (jest o tyle ciekawy że są przykłady i można je modyfikować).

Ale proszę Was o łapatologiczne wytłumaczenie tego przykładu, gdyż nie został on opisany (wytłumaczony):

  1. var person = {fname:"John", lname:"Doe", age:25};
  2.  
  3. var text = "";
  4. var x;
  5. for (x in person) {
  6. text += person[x];
  7. }


Znajduje się na samym końcu pod adresem:
http://www.w3schools.com/js/js_loop_for.asp


Jak to zrozumieć (logika działania) że wypisuje wszystkie dane z obiektu kiedy jest +, a bez niego tylko ostatnią wartość z obiektu ?
Wiem że to jest równoznaczny zapis: text = text + person[x];

PS. var text = ""; - jest to String, ale co on przechowuje, spacje ?
Go to the top of the page
+Quote Post
trueblue
post
Post #9





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


a+=b skrócony zapis a=a+b, w przypadku stringu, będzie doklejać b do a.
W tym przykładzie będzie dopisywać do text, wartości każdej właściwości obiektu person.
Jeśli zapiszesz text=person[x], to najzwyczajniej będziesz nadpisywać zmienną text w każdej iteracji, czyli: text="John", text="Doe", text="25".

text="", gdyby miałby przechowywać spacje, to minimum byłoby tak: text=" ", to jest pusty string.


--------------------
Go to the top of the page
+Quote Post
Caporeira
post
Post #10





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 27.11.2014

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


Cytat(trueblue @ 10.02.2015, 10:06:55 ) *
a+=b skrócony zapis a=a+b, w przypadku stringu, będzie doklejać b do a.
W tym przykładzie będzie dopisywać do text, wartości każdej właściwości obiektu person.


A da się to jeszcze prościej wytłumaczyć - jak dziecku smile.gif ? Czemu tutaj wartość nie jest nadpisywana, tylko pojawia się nowy zapis (kolejny).
Dzięki.
Go to the top of the page
+Quote Post
trueblue
post
Post #11





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Bo jest operator +=.
http://www.w3schools.com/js/js_operators.asp sekcja JavaScript String Operators.


--------------------
Go to the top of the page
+Quote Post
Caporeira
post
Post #12





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 27.11.2014

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


Cytat(trueblue @ 10.02.2015, 10:06:55 ) *
Jeśli zapiszesz text=person[x], to najzwyczajniej będziesz nadpisywać zmienną text w każdej iteracji, czyli: text="John", text="Doe", text="25".


Chyba zaczynam łapać, czyli z plusem to będzie wyglądać mniej więcej tak w krokach ?:

1.text = ""
2.text = "John"
3.text = "John" + "Doe"
4.text = "John Doe" + "25"
5.text = "John Doe 25"

PS. W tych pierwszych przykładach n = 6, co to jest 6 ? Chyba nie ilość znalezionych Stringów ?
http://www.w3schools.com/js/js_regexp.asp

Ten post edytował Caporeira 10.02.2015, 11:09:34
Go to the top of the page
+Quote Post
trueblue
post
Post #13





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Tak.

W ogóle nie czytasz dokumentacji:
The search() method uses an expression to search for a match, and returns the position of the match.


--------------------
Go to the top of the page
+Quote Post
Caporeira
post
Post #14





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 27.11.2014

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


Czy prawidło zastosowałem polecenie clearInterval, 16 linijka ?
Bo niestety nie czyści mi timera sad.gif

http://dev.nomado.com.pl/pastebin/1ghqHmRC

Ten post edytował Caporeira 10.02.2015, 15:20:18
Go to the top of the page
+Quote Post
trueblue
post
Post #15





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Czyścisz interwał tylko wtedy, kiedy przy uruchomieniu zdarzenia "value" nie jest prawdą. Ok.
Tyle, że jeśli zdarzenie jest wywoływane kilka razy podczas gdy "value" jest prawdą, to nadpisujesz zmienną "interval" z wartościami wcześniejszych timerów.

Poza tym po co przy spełnieniu warunku jest wpleciona definicja funkcji?
Uporządkuj kod wizualnie, to będzie Ci go łatwiej analizować.

Ten post edytował trueblue 10.02.2015, 15:35:21


--------------------
Go to the top of the page
+Quote Post
Caporeira
post
Post #16





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 27.11.2014

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


Bardzo cenne wskazówki, ale próbuje na różne sposoby i nie nie wiem jak to przerobić.

Kod jest uporządkowany (u mnie), widzę że ta strona różne odczytuje tabulatory. Nastepny kod będzie bez tabulatorów.

Bazowałem na tym przykładzie: http://www.w3schools.com/js/tryit.asp?file...js_setinterval3

Ten post edytował Caporeira 10.02.2015, 16:03:47
Go to the top of the page
+Quote Post
trueblue
post
Post #17





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Nie wiem co chcesz osiągnąć, więc trudno podać kod.


--------------------
Go to the top of the page
+Quote Post
Caporeira
post
Post #18





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 27.11.2014

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


Warunek jest taki że jeśli jest True to ma być wykonywana animacja (rotate).
Jesli znowu jest True, to ma się dalej wykonywać.

Jesli jest False, to nie ma być animacji. Czyli czyści (wyłącza timer).
Go to the top of the page
+Quote Post
trueblue
post
Post #19





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


  1. var step = 0;
  2. var interval = null;
  3.  
  4. webMI.data.subscribe(webMI.query["base"] + ".Data.Status.Wickeln", function(e) {
  5. var id = "id_3";
  6. var value = e.value;
  7. if (value&&!interval){
  8. webMI.gfx.setVisible(id, true);
  9. interval=setInterval(function(){myTimer()},25);
  10. }
  11. else{
  12. clearInterval(interval);
  13. }
  14. });
  15. function myTimer(){
  16. webMI.gfx.setRotation(id, webMI.translate(value, false, true, 0, step));
  17. step++;
  18. }


--------------------
Go to the top of the page
+Quote Post
Caporeira
post
Post #20





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 27.11.2014

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


Dzieki, 14 linijkę przeniosłem na koniec i ruszyło.
Teraz działa, takie sekwencje:

true -> false
false -> true -> false

Ale na kojenych już się zatrzymuje. Czyli nie działa drugie (bo pierwszy raz przejdzie) przejście z False na True.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 22.08.2025 - 05:37