Avatar billede th1 Nybegynder
04. december 2007 - 13:16 Der er 11 kommentarer og
1 løsning

Hvorfor flytter min div sig ikke

Hejsa jeg har en javascript function som ser sådan her ud:

------------------functionen starter-------------------------

function CreateEvent(obj, e)
{
    var getX = function(e) {
  if (e.x){return e.x;}
  if (e.pageX){return e.pageX;}
}
var getY = function(e){
  if (e.y) {return e.y;}
  if (e.pageY) {return e.pageY;}
}

  alert("X = "+ getX(e) +"\nY = "+ getY(e));
    document.getElementById('CreateEventWindow').style.left = getX(e);
    document.getElementById('CreateEventWindow').style.top = getY(e);
    document.getElementById('<%= lblCurrentDateSelected.ClientID  %>').innerHTML = obj.id.substring(9,obj.id.length) +  ".";
    document.getElementById('<%= hfID.ClientID %>').value = obj.id.substring(9,obj.id.length);
    document.getElementById('UpdateEventWindow').style.visibility = "hidden";
    document.getElementById('CreateEventWindow').style.visibility = "visible";
}
-------------------------functionen slutter-------------------

og jeg har en div
--------------------------- div starter-----------------------
<div id="CreateEventWindow" style="position:absolute; width:250px; background-color:Green; visibility:hidden;">
det er mit popup vindue =)
</div>
-------------------div slutter -------------------------------

Mit proplem er at min div den flytter sig ikke efter x og y musens position.

Nogen der ved hvorfor?
Avatar billede softspot Forsker
04. december 2007 - 13:30 #1
Jeg synes der mangler noget for at man kan se hvad der rent faktisk går galt, men jeg har snittet lidt hist og tilføjet lidt her - og nedenstående ser ud til at fungere (hvis ellers jeg har forstået dit problem korrekt). Derfra må du selv kunne arbejde videre (eller uddybe dine omstændigheder lidt mere):

<html>
<head>
  <style type="text/css">
    html, body { width:100%;height:100%;padding:0px;margin:0px;
  </style>
  <script type="text/javascript">
function CreateEvent(obj, e)
{
    var getX = function(e) {
        if (e.x){return e.x;}
        if (e.pageX){return e.pageX;}
    }
    var getY = function(e){
        if (e.y) {return e.y;}
        if (e.pageY) {return e.pageY;}
    }

//    alert("X = "+ getX(e) +"\nY = "+ getY(e));
    document.getElementById('CreateEventWindow').style.left = getX(e);
    document.getElementById('CreateEventWindow').style.top = getY(e);
/*
    document.getElementById('<%= lblCurrentDateSelected.ClientID  %>').innerHTML = obj.id.substring(9,obj.id.length) +  ".";
    document.getElementById('<%= hfID.ClientID %>').value = obj.id.substring(9,obj.id.length);
    document.getElementById('UpdateEventWindow').style.visibility = "hidden";
*/
    document.getElementById('CreateEventWindow').style.visibility = "visible";

</script>
</head>

<body onmousemove="CreateEvent(document.getElementById('CreateEventWindow'),event)">
 
<div id="CreateEventWindow" style="position:absolute; width:250px; background-color:Green;">
det er mit popup vindue =)
</div>

</body>
</html>
Avatar billede w13 Novice
04. december 2007 - 13:32 #2
Hvornår bliver CreateEvent kørt? Og ser du alerten?
Avatar billede th1 Nybegynder
04. december 2007 - 13:40 #3
den bliver kørt når jeg klikker på min div, ja jeg ser alereten, derfor kan jeg ikke helt forstå hvorfor det ikke virker
Avatar billede w13 Novice
04. december 2007 - 13:42 #4
Kan vi se et link til siden? Rykker den sig overhovedet ikke? onclick bli'r jo også kun kørt én gang, så det sku' kun resultere i, at div'en flyttede sig hurtigt én gang.
Avatar billede th1 Nybegynder
04. december 2007 - 13:57 #5
nej der er ikke muligt at se et link desværre. Den rykker sig overhovedet ikke, men alereten får nye værdier hver gang.
Avatar billede w13 Novice
04. december 2007 - 14:06 #6
Så må du sende os hele din kode, så vi selv kan prøve det. Ellers kan jeg i hvert fald ikke regne fejlen ud.
Avatar billede softspot Forsker
04. december 2007 - 14:08 #7
Ja, det må være en kontekstafhængig fejl, for det jeg har vist fungerer som sagt...
Avatar billede softspot Forsker
04. december 2007 - 14:16 #8
Jeg har lige prøvet at ændre koden til at reagere på et klik (hvilket også fungerer):

<html>
<head>
  <style type="text/css">
    /*html, body { width:100%;height:100%;padding:0px;margin:0px;}*/
  </style>
  <script type="text/javascript">
function CreateEvent(obj, e)
{
    var getX = function(e) {
        if (e.x){return e.x;}
        if (e.pageX){return e.pageX;}
    }
    var getY = function(e){
        if (e.y) {return e.y;}
        if (e.pageY) {return e.pageY;}
    }

//    alert("X = "+ getX(e) +"\nY = "+ getY(e));
    document.getElementById('CreateEventWindow').style.left = getX(e);
    document.getElementById('CreateEventWindow').style.top = getY(e);
/*
    document.getElementById('<%= lblCurrentDateSelected.ClientID  %>').innerHTML = obj.id.substring(9,obj.id.length) +  ".";
    document.getElementById('<%= hfID.ClientID %>').value = obj.id.substring(9,obj.id.length);
    document.getElementById('UpdateEventWindow').style.visibility = "hidden";
*/
    document.getElementById('CreateEventWindow').style.visibility = "visible";

</script>
</head>

<body>


<div onmouseup="CreateEvent(document.getElementById('CreateEventWindow'),event)">vis pop</div>

<div id="CreateEventWindow" style="position:absolute; width:250px; background-color:Green;visibility:hidden">
det er mit popup vindue =)
</div>

</body>
</html>
Avatar billede th1 Nybegynder
04. december 2007 - 14:43 #9
Det virkede hele tiden bare ikke lige på det CMS system som jeg brugte :S
Avatar billede softspot Forsker
04. december 2007 - 14:55 #10
OK, men du er som w13 også siger, nok nød til at løfte sløret lidt mere for, hvad det er for noget kode (og det miljø koden kører i - f.eks. vis kilde på en side hvor koden ikke fungerer) du helt konkret arbejder med, for det du har givet os pt. er åbenbart ikke nok til at se hvad fejlen kan være.
Avatar billede th1 Nybegynder
12. december 2007 - 22:11 #11
lukker
Avatar billede softspot Forsker
12. december 2007 - 22:29 #12
Jamen, velbekomme da...
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