20. november 2006 - 12:51Der er
4 kommentarer og 1 løsning
Div possition i Iframe editor
Hey,
Hvis jeg smider et DIV tag in med noget tekst, vil jeg gerne kunne flytte det med musen. Jeg er ved at lave en editor til noget tekst i en database, hvor indholdet ryger ned.
Er det mulig, og hvis, hvordan? Nogle eksempler ville være lækre.
Det skal vel være absolute pos. og kunne man så lave det ved at den fulgte musens koordinater, eller kan man få properties ud via getelementbyid og så rette det ?
Al hjælp vil være kanon. Ved det måske er lidt svært, så jeg har sat lidt point på højkant :)
Jeg har det her kode, men når jeg prøver og resize med musen, flytter den jo af gode grunde min div. Nogle der lige ved hvordan den klares?
<html> <head></head>
<body contentEditable=true> <script type="text/javascript"> <!-- var moving=false var IE=document.all function Dragnow(e){ curposx=(IE ? event.clientX : e.pageX) // Cursorx Start Position curposy=(IE ? event.clientY : e.pageY) // Cursory Start Position objectx=parseInt(document.getElementById("moveobject").style.left) // Objectx Start Position objecty=parseInt(document.getElementById("moveobject").style.top) // Objecty Start Position moving=true document.onmousemove=Moveto }
function Moveto(e){ xx=(IE ? event.clientX : e.pageX) yy=(IE ? event.clientY : e.pageY) if (moving==true){ document.getElementById("moveobject").style.left=xx-(curposx-objectx) // Objectx New Position document.getElementById("moveobject").style.top=yy-(curposy-objecty) //Objecty New Position return false } } // --> </script>
Du skal fange onresize og få den til at lade være med at flytte sig. Fx. som i nedenstående. Har bare lidt problemer når jeg slipper objektet efter det er lavet større :(
<html> <head></head>
<body contentEditable=true> <script type="text/javascript"> <!-- var moving=false; var IE=document.all; var resize = false;
function f1() { resize=true; }
function Dragnow(e){ curposx=(IE ? event.clientX : e.pageX) // Cursorx Start Position curposy=(IE ? event.clientY : e.pageY) // Cursory Start Position objectx=parseInt(document.getElementById("moveobject").style.left) // Objectx Start Position objecty=parseInt(document.getElementById("moveobject").style.top) // Objecty Start Position moving=true document.onmousemove=Moveto }
function Moveto(e){ if(!resize) { xx=(IE ? event.clientX : e.pageX) yy=(IE ? event.clientY : e.pageY) if (moving==true){ document.getElementById("moveobject").style.left=xx-(curposx-objectx) // Objectx New Position document.getElementById("moveobject").style.top=yy-(curposy-objecty) //Objecty New Position return false } } else { resize = false; } } // --> </script>
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.