Det kanske bara blev ett fel när du skrev det här, men ska det inte stå
document.getElementById(X).style.left = window.event.clientX + "px";
istället för
document.getElementBydId(X).style.left = window.event.clientX + "px";
?
4 svar · 249 visningar · startad av monAmour
Försöker göra så att man ska kunna dra ett lager med musen.
Trodde det var ganska simpelt.
Så här ser min kod ut nu:
<script type="text/javascript">
<!--
function dragable(X) {
if (document.getElementById) {
document.getElementBydId(X).style.left = window.event.clientX + "px";
document.getElementById(X).style.top = window.event.clientY + "px";
}
}
//-->
</script>
<body>
<div id="styr" style="position:absolute; left:100px; top:100px; width:500px; border-style:solid; border-width:1px; border-color:#000000; z-index:1;" ondrag=dragable(this)>
<div id="bar" style="position:relative; left:0px; top:0px; width:500px; height:20px; background-color:#000000; z-index:2">
<span style="padding-left:3px; font-family:Verdana; font-size:10px; font-weight:Bold; text-decoration:none; color:#FFFFFF">Kalender</span>
</div>
</div>
Får inga error men det händer nada..
Hur bör jag gå tillväga?
Det kanske bara blev ett fel när du skrev det här, men ska det inte stå
document.getElementById(X).style.left = window.event.clientX + "px";
istället för
document.getElementBydId(X).style.left = window.event.clientX + "px";
?
Du bör inte använda ett händelseattribut direkt i ett element, utan istället använda någonting sådant här:
document.onmousedown = ...
document.onmouseup = ...
document.onmousemove = ...
Punkterna ovan ersätter du med funktioner som kollar om det tänkta elementet ifråga blivit tryckt på och isåfall utför önskade operationer.
om jag använder det istället då, hur ska funktionen se ut som ska flytta lagret.. inget verkar fungera av det jag använder nu..