webForumDet fria alternativet

Ta reda på koordinater var bild är placerad

JavaScript

5 svar · 508 visningar · startad av Hick

Medlem sedan maj 20067 inlägg
Frågan#1

Om man använder sig av nedanstående kod, kan man då på ett relativt lätt och smidigt sätt ta reda på var bilderna är placerade och få deras koordinater. Koordinaterna ska sedan sparas i en databas för att senare hämtas och placera bilden på exakt samma ställe.

Håller på med en sida till en fotbolls förening.
Tanken är att man skall skriva in en matchrapport och sen placera ut spelare på en fotbollsplan så som start ellvan såg ut.
Sen skall besökarna kunna gå in och se hur start uppställningen såg ut.

KOD:
<html>
<head>

<style type="text/css">

.drag{
position:relative;
cursor:hand;
z-index: 100;
}

</style>

<script type="text/javascript">

/***********************************************
* Drag and Drop Script: © Dynamic Drive (http://www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

var dragobject={
z: 0, x: 0, y: 0, offsetx : null, offsety : null, targetobj : null, dragapproved : 0,
initialize:function(){
document.onmousedown=this.drag
document.onmouseup=function(){this.dragapproved=0}
},
drag:function(e){
var evtobj=window.event? window.event : e
this.targetobj=window.event? event.srcElement : e.target
if (this.targetobj.className=="drag"){
this.dragapproved=1
if (isNaN(parseInt(this.targetobj.style.left))){this.targetobj.style.left=0}
if (isNaN(parseInt(this.targetobj.style.top))){this.targetobj.style.top=0}
this.offsetx=parseInt(this.targetobj.style.left)
this.offsety=parseInt(this.targetobj.style.top)
this.x=evtobj.clientX
this.y=evtobj.clientY
if (evtobj.preventDefault)
evtobj.preventDefault()
document.onmousemove=dragobject.moveit
}
},
moveit:function(e){
var evtobj=window.event? window.event : e
if (this.dragapproved==1){
this.targetobj.style.left=this.offsetx+evtobj.clientX-this.x+"px"
this.targetobj.style.top=this.offsety+evtobj.clientY-this.y+"px"
return false
}
}
}

dragobject.initialize()

</script>

</head>

<body>
<img src="test.gif" class="drag"><br>
<img src="test2.gif" class="drag"><br>
<h1><b>"Hi there</b></h1>
</body>
</html>

Medlem sedan okt. 20041 556 inlägg
#2

Ok kul, och vad är din fråga?

Medlem sedan maj 20067 inlägg
#3

Om man använder sig av nedanstående kod, kan man då på ett relativt lätt och smidigt sätt ta reda på var bilderna är placerade och få deras koordinater?

Glömde ett frågetecken där men jag trodde att det gick att läsa endå.

Måste bara fråga är det den här attityden som folk har på det här forumet?

Medlem sedan okt. 20041 556 inlägg
#4

Attityd? (Allt ligger i betraktarens/läsarens ögon) ;)

Medlem sedan maj 20067 inlägg
#5

Okej vi säger så, men du kunde inte hjälpa mig iallafall tolkar jag det som...

Medlem sedan juni 20014 421 inlägg
#6

Det är väl egentligen ing problem, vet du bara vad objekten heter/har för id kan du ju använda typ:

document.getElementById('min_filur_bild').style.left

för att få reda på hur många pixlar den är placerad från vänsterkanten och samma sak fast .top på slutet för att få ut var i förhållande till toppp-kanten den ligger.

Du har ju lite exempel på det i koden redan. Och använd gärna kod-taggarna när du postar kod.

258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)