Avatar billede zuiq Nybegynder
07. november 2003 - 19:15 Der er 3 kommentarer og
1 løsning

Ryk DIV-layer, gem kordinater.

Hej.
Jeg skal bruge et script der gør en istand til, at med musen at rykke et div-layer rundt. Og i det øjeblik man giver-slip på, har positioneret, sit layer skal top/left kordinaterne indsættes i to input-boxe (type:text) af samme navne (top og left).

Mvh.
Mads
Avatar billede skovenborg Nybegynder
07. november 2003 - 19:24 #1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
ie = (document.all) ? true : false;
var active = false;
var boxX,boxY;
function beginDrag(boxName,evnt)
{
    if (!active)
    {
        active = true;
        boxX = (ie) ? evnt.offsetX : evnt.layerX;
        boxY = (ie) ? evnt.offsetY : evnt.layerY;
        boxName.style.zIndex = 2;
    }
        else;

}
function moveBox(boxName,evnt)
{
        boxStyle = boxName.style;
        moveable = true;
    x = (ie) ? evnt.clientX : evnt.pageX;
    y = (ie) ? evnt.clientY : evnt.pageY;
    x = x-boxX;
    y = y-boxY;
    if (active)
    {
                if (moveable)
                {
                    boxStyle.left = x + "px";
                    boxStyle.top = y + "px";
                }
    }
        else;
}
function endDrag(boxName)
{
    if (active)
        {
            active = false;
            boxName.style.zIndex = 1;
            document.form1.x.value = boxName.style.left;
            document.form1.y.value = boxName.style.top;
        }
}
</script>
</head>
<body>
<div id="boks" style="position:absolute;left:0px;top:0px;width:100px;height:100px;background:#f00;" onmousedown="beginDrag(this,event);" onmousemove="moveBox(this,event);" onmouseup="endDrag(this);">DRAG ME</div>
<form name="form1">
<input type="text" name="x" />
<input type="text" name="y" />
</form>
</body>
</html>
Avatar billede skovenborg Nybegynder
07. november 2003 - 19:26 #2
hov hvis input felterne skal hedde top og left, så skal det jo være:
function endDrag(boxName)
{
    if (active)
        {
            active = false;
            boxName.style.zIndex = 1;
            document.form1.left.value = boxName.style.left;
            document.form1.top.value = boxName.style.top;
        }
}
<form name="form1">
<input type="text" name="left" />
<input type="text" name="top" />
</form>
Avatar billede zuiq Nybegynder
07. november 2003 - 19:26 #3
Thank you :), lav et svar.
Avatar billede skovenborg Nybegynder
07. november 2003 - 19:28 #4
okay :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester