Avatar billede fredand Forsker
25. april 2001 - 13:47 Der er 2 kommentarer og
1 løsning

Flytta runt ett object med musen??

Hej!

Jag försöker flytta runt en <h1> i ett fönster som jag har öppnat från ett annat.

Men jag får liksom inte tag i själva <h1>-objektet.

Kan någon komma på hur man ska göra så vore det toppen!!!

Jag vill gärna ha all kod i 3 olika filer istället för js-inline. För jag vill kunna spara undan information om hur användaren placerar <h1> objektet och sedan skicka iväg allt till en Servlet från HTML-fil 1.

Därför har jag mina filer så här (Tror att denna struktur borde funka, men jag kan mycket väl ha fel.):

HTML-fil 1
<html>
<head>
</head>
<body>
<input type=\"button\" name=\"b4\" value=\"open\">
</body>
</html>

Js-fil:
var newWindow =\"\";
var Event = null;
var objectX =0;
var objectY =0;
currentObj = null;

function openNewWindow()
{
    newWindow = window.open(\"http://fredrik/develop/IP3/lektion8/test8b.html\",\'opensmall\',\'width=770,height=445,toolbar=no\');

    if (newWindow.opener == null)
    {
          newWind.opener = self;
    }

}

//-------------------TITEL--------------------------------------------------------

var picked = 0;

function pickTitle(e, obj)
{
    picked = 1;
    alert(\"pickTitle\");
    e = newWindow.event;
    currentObj = obj;
   
        newWindow.document.all.title.style.pixelLeft = e.clientX;
        newWindow.document.all.title.style.pixelTop = e.clientY;
}

function moveTitle()
{
    alert(\"moveTitle\");
    if(picked == 1)
    {
        if(currentObj != null)
        {
            objectX = newWindow.event.clientX;
            objectY = newWindow.event.clientY;
            newWindow.document.all.title.style.pixelLeft = window.event.clientX;
            newWindow.document.all.title.style.pixelTop = window.event.clientY;

        }
    }
}

function placeTitle()
{
    alert(\"placeTitle\");
        newWindow.document.all.title.style.pixelLeft = objectX;
        newWindow.document.all.title.style.pixelTop = objectY;
        currentObj = null;
}


//window.onload = openNewWindow;
window.document.all.b4.onclick = openNewWindow;

newWindow.onload = \"newWindow.document.all.title.ondragenter = new Function(\'opener.pickTitle(event, newWindow.document.all.title)\');\"
newWindow.onload = \"newWindow.document.all.title.onmouseover = opener.placeTitle;\"
newWindow.onload = \"newWindow.document.all.title.onmouseover = opener.moveTitle;\"

HTML-fil 2

<html>
<head>
    <link href=\"css/test8.css\" rel=\"stylesheet\" type=\"text/css\"/>
</head>
<!--<body id=\"body\" onload=\"document.all.title.onmouseover=opener.pickObject;\">-->
<body id=\"body\">
    <form name=\"form\">
        <h1 id=\"title\" class=\"im\">Fönster 2</h1>
        <div id=\"d\"></div>
        <input type=\"button\" name=\"move\" value=\"move\">
        <script type=\"text/JScript.Encode\" src=\"js/testII.js\"></script>
        <!--<script language=\"Javascript\" src=\"js/test.js\"></script>-->

    </form>
</body>
</html>

Men jag kan liksom inte greppa/plocka upp <h1>-objektet i HTML-fil 2

Med hoppfulla hälsningar
Fredrik
Avatar billede ras2000 Nybegynder
25. april 2001 - 14:05 #1
Jeg kan ikke lie gennemskue din kode, men jeg ville mene at du skulle lægge en onDragStart og onDragDrop ind i din <h1...
Avatar billede fredand Forsker
26. april 2001 - 08:27 #2
Hej!

Jag har tydligen glömte en viktig rad i HTML-fil 1(Kopierade bara in det viktiga)

Filen ska ju se ut så här :

HTML-fil 1
<html>
<head>
</head>
<body>
<input type=\"button\" name=\"b4\" value=\"open\">
<script type=\"text/JScript.Encode\" src=\"js/testII.js\"></script> <!--Referens till JS-filen-->
</body>
</html>

Så om någon kommer på hur man ska göra detta nu, alltså att kunna flytta <h1> i HTML-fil 2 med musen.

Mvh

Fredrik Andersson

S

Avatar billede ras2000 Nybegynder
26. april 2001 - 09:48 #3
Tja, her er en lidt simplere løsning:
<html>
<head>
<script type=\"text/javascript\">
var i = 0;
function seti() {
    i = 1;
    x = event.clientX;
    y = event.clientY;
}
function flyt(el) {
if (i == 1) {
el.style.top = event.clientY - y;
el.style.left = event.clientX - x;
}}
function uset() {
i = 0;
}
</script>
<body onmouseup=\"uset()\">
<div><h1 id=\"her\" onmousedown=\"seti()\" onmousemove=\"flyt(this)\" style=\"position:absolute\">vindue</h1></div>
</body>
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