Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS] Zmiana odległości diva
Hipolit
post 11.03.2014, 19:59:15
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.03.2014

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


Witam. Celem jest to, aby po wciśnięciu strzałki w lewo div przesunął się w lewo o 1px.


W tym wypadku kwadrat przesuwa się w w lewo i jest oddalony od lewej krawędzi o 10px. Wszystko ok.
Problem zaczyna się, gdy chcę odjąć 1px ( aby przesuwało się po kawałku ).
Kod
function zmianaPolozenia(e){
            element=document.getElementById("blok");    
            if(e.keyCode==37) element.style.left="10px";


To już nie działa.
Kod
if(e.keyCode==37) element.style.left=element.style.left-"1px";


Tak, więc problemem jest to, jak zapisać odejmowanie o 1px. Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
kamil4u
post 11.03.2014, 22:24:11
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


- Wyrażenie --> element.style.left <-- da Ci w wyniku coś w stylu: "10px"
- Musisz z tego zrobić liczbę -> parseInt
- Następnie musisz od tej liczby odjąć 1
- Wpisać nową wartość do listy
- Zmienić element.style.left na --> element.style.left = nowaWartosc+'px' <--


--------------------
Go to the top of the page
+Quote Post
Hipolit
post 12.03.2014, 14:48:03
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.03.2014

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


Ok. Tworzę zmienną pomocniczą i zmieniam wartość element.style.left na liczbę:
Kod
var pom=parseInt(element.style.left);
var a=pom-1;
element.style.left=a+'px';

Nie działa. Gdzieś jest błąd, bo nie wiem czy dobrze zrozumiałem.

Go to the top of the page
+Quote Post
kamil4u
post 12.03.2014, 17:24:48
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Działa!

Dokładnie Twój kod:
[JAVASCRIPT] pobierz, plaintext
  1. <div style="position: absolute; left: 200px; top: 300px; width: 100px; height: 100px; border: 1px solid #000; background: #f0f;" id="test"></div>
  2.  
  3. <input type="button" value="klik" id="click">
  4.  
  5. <script>
  6. document.getElementById("click").onclick = function(){
  7. var element = document.getElementById("test");
  8.  
  9. /* TWÓJ KOD Z POSTU */
  10. var pom = parseInt(element.style.left);
  11. var a = pom-1;
  12. element.style.left = a+'px';
  13.  
  14. }
  15. </script>
[JAVASCRIPT] pobierz, plaintext


--------------------
Go to the top of the page
+Quote Post
Hipolit
post 13.03.2014, 12:20:36
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.03.2014

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


Faktycznie działa, dzięki wielkie.
Mam jeszcze jedno pytanie. Dałoby się to zrobić za pomocą strzałek. W takim sensie, że użytkownik naciska strzałkę w lewo i div zmienia pozycję tak jak tutaj smile.gif
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:43