Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodawanie do marginLeft i marginTop
Forum PHP.pl > Forum > Po stronie przeglądarki
arrtxp
MAM TAKIE COŚ
chciałem zrobić aby mi dodawało do margin liczbę 32 lecz nie wychodzi wie ktoś może czemu?
o to kawałek kodu, który za to odpowiada tongue.gif

  1. var ruch = 0;
  2. var topMargin = document.getElementById('map').style.marginTop;
  3. var leftMargin = document.getElementById('map').style.marginLeft;
  4. var pole = "32";
  5. function Move_map(x, y, licz) {
  6. if(isNaN(parseInt(licz))) { if(ruch > 0) return;
  7. window.frames['view_info'].location= "poruszanie.php?x=" + x + "&y=" + y + "";
  8. licz = 0;
  9. }
  10. ruch = 1;
  11. document.getElementById('map').style.marginTop = topMargin+pole;
  12. document.getElementById('map').style.marginLeft = leftMargin+pole;
  13. if(licz < 33) {
  14. licz++;
  15. setTimeout("Move_map(" + x + ", " + y + ", " + licz + ")", 15);
  16. }
  17. else ruch = 2;
  18. }
trucksweb
wedlug mnie musisz ustalic typ danych na int za pomoca parseInt()
skowron-line
Cytat(trucksweb @ 15.01.2010, 12:59:55 ) *
wedlug mnie musisz ustalic typ danych na int za pomoca parseInt()


Musi i to napewno w przeciwnym wypadku + połączy mu ciągi.
arrtxp
Zrobiłem tak i dalej nie ogarnia
  1. var topMargin = parseInt(document.getElementById('mapimg').style.marginTop);
  2. var leftMargin = parseInt(document.getElementById('mapimg').style.marginLeft);
  3. var pole = "32";
  4. function Move_map(x, y, licz) {
  5. if(isNaN(parseInt(licz))) { if(ruch > 0) return;
  6. window.frames['view_info'].location= "poruszanie.php?x=" + x + "&y=" + y + "";
  7. licz = 0;
  8. }
  9. ruch = 1;
  10. document.getElementById('mapimg').style.marginTop = topMargin+pole;
  11. document.getElementById('mapimg').style.marginLeft = leftMargin+pole;
  12. if(licz < 33) {
  13. licz++;
  14. setTimeout("Move_map(" + x + ", " + y + ", " + licz + ")", 15);
  15. }
  16. else ruch = 2;
  17. }


mls
Może po prostu czytaj ze zrozumieniem odpowiedzi, i zmień
Kod
var pole = "32";

na
Kod
var pole = 32;
kamil4u
Poza tym brakuje jednostki, czyli 'px' prawdopodobnie. Musisz też zamienić topMargin na liczbę, bo prawdopodobnie masz ją w formie tekstu - "XXpx", gdzie XX to jakaś liczba.
Kod
<input type="button" value="dodaj do margin-top  10px;" onClick="dodaj(10);">

<div style="margin-top: 10px;" id="test">test</div>

<script>
function dodaj(value){
  var el = document.getElementById('test');
  var marginTop = parseInt(el.style.marginTop);
  el.style.marginTop = value+marginTop+'px'
}
</script>
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.