P phoyer Medlem sedan jan. 2001 37 inlägg Trådstart 14 feb. 2001 01:17 #1 har ett script som tillåter besökaren att flytta runt olika lager på skärmen.
detta innebär även att man kan flytta lagren utanför skärmen.
skulle behöva en funktion som begränsar inom vilka x- och y-värden som man kan flytta lagren.
nåt tips ?
Johnsen Medlem sedan juli 2000 836 inlägg Visa den kod du har, så skall vi nog kunna kompettera den.
P phoyer Medlem sedan jan. 2001 37 inlägg <script>
drag = 0
move = 0
function init() {
window.document.onmousemove = mouseMove
window.document.onmousedown = mouseDown
window.document.onmouseup = mouseUp
window.document.ondragstart = mouseStop
}
function mouseDown() {
if (drag) {
clickleft = window.event.x - parseInt(dragObj.style.left)
clicktop = window.event.y - parseInt(dragObj.style.top)
dragObj.style.zIndex += 1
move = 1
}
}
function mouseStop() {
window.event.returnValue = false
}
function mouseMove() {
if (move) {
dragObj.style.left = window.event.x - clickleft
dragObj.style.top = window.event.y - clicktop
}
}
function mouseUp() {
move = 0
}
</script>
<div id="lager1" onMouseOver="dragObj=lager1; drag=1;" onMouseOut="drag=0" style="visibility: visible; position: absolute; left:5; top:5;"> innehåll </div>
Johnsen Medlem sedan juli 2000 836 inlägg Ser ut som om din kod bara fungerar i IE, så jag fortsätter väl med det jag oxå. Ändra nouseMove() till detta:
function mouseMove() {
if (move) {
lagerWidth=dragObj.offsetWidth
lagerHeight=dragObj.offsetHeight
if(window.event.x < document.body.clientWidth-lagerWidth && window.event.x >lagerWidth){
dragObj.style.left = window.event.x - clickleft}
if(window.event.y < document.body.clientHeight-lagerHeight && window.event.y >lagerHeight){
dragObj.style.top = window.event.y - clicktop}
}
}
så borde du inte kunna flytta dina lager utanför fönstret.