Kezdőoldal » Számítástechnika » Programozás » Javascript elem mozgatása,...

Javascript elem mozgatása, hol a hiba?

Figyelt kérdés

HTML oldalon képet akarok ide-oda húzogatni. Találtam egy megoldást:

[link]


Az itt található kódot kissé átalakítottam, lényegében ugyanaz, nem vettem el belőle semmit, nem tettem hozzá semmit, mégsem működik ugyanúgy. Én az elem megfogását, mozgatását és elengedését külön-külön eseményhez rendeltem:


<HTML>

<HEAD>

<STYLE>

img.negyzet{

cursor : move;

width : 120px;

height : 120px;

position : absolute;

}

</style>

<SCRIPT language="JavaScript">


var xdif = null; var ydif = null; var megfogva = null;


function elemMegfog( elem ){

var e = e || window.event; e.preventDefault();

xdif = elem.offsetLeft - e.clientX;

ydif = elem.offsetTop - e.clientY;

megfogva = elem.id;

}


function elemMozgat( elem ){

if( ( xdif != null ) && ( ydif != null ) && ( megfogva != null ) ){

var e = e || window.event; e.preventDefault();

elem.style.top = ( e.clientY + ydif ) + "px";

elem.style.left = ( e.clientX + xdif ) + "px";

}

}


function elemLetesz( elem ){

var e = e || window.event; e.preventDefault();

elem.style.top = ( 120 * Math.round( ( e.clientY + ydif ) / 120 ) + 10 ) + "px";

elem.style.left = ( 120 * Math.round( ( e.clientX + xdif ) / 120 ) + 10 ) + "px";

xdif = null; ydif = null; megfogva = null;

}


</script>

</head>

<BODY>

<IMG src="negyzet_100.png" id="negyzet_100" class="negyzet" onmousedown='elemMegfog(this)' onmousemove='elemMozgat(this)' onmouseup='elemLetesz(this)' />

</body>

</html>


Az a rossz az én megoldásomnál, hogy ha túl gyorsan mozgatom az egeret, akkor a kép nem tudja követni. A "hivatalos" megoldásnál nincs ilyen gond.



2021. ápr. 12. 18:48
 1/1 jokyman15 ***** válasza:
Én azt tudom tanácsolni, hogy másold át teljesen a webolodalon megadott kódot és ha az működik, akkor lassan lépésről lépésre alakísd át magadnak. Így minden lépésnél megbizonyosodhatsz, hogy működik-e és ha valamiért nem működik, akkor tudni fogod, hogy mi volt az a rosz lépés.
2021. júl. 24. 00:25
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!