15. april 2003 - 20:57
Der er
16 kommentarer og 1 løsning
flytte element diagonalt
Jeg ønsker en funktionalitet, der kan flytte et element til en koordinat i hvilken som helst retning og gerne på tid. somebody have that package? /Nielsen
Annonceindlæg fra Cognizant
AI er ikke problemet. Eksekvering er.
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
16. april 2003 - 14:58
#1
<ole> Sparsomme info, men princippet er som følger: <script type="text/JavaScript"> var speed = 10; function pI(s) { return parseInt(s); } function anim(x,y) { var o = document.getElementById("ib"); o.style.left = (pI(o.style.left)<(x-speed))? pI(o.style.left) + speed + "px" : x + "px"; o.style.top = (pI(o.style.top)<(y-speed))? pI(o.style.top) + speed + "px" : y + "px"; if (pI(o.style.left)!=x || pI(o.style.top)!=y) setTimeout("anim("+x+","+y+")",40); } </script> <div id="ib" style="position:absolute;left:30px;top:50px;border:1px solid red">blabla</div> /mvh </bole>
16. april 2003 - 15:07
#2
super, Men den laver først et diagonalt ryk og derefter et vertikalt. jeg brugte funktionen således: <a href="#" onclick="anim(100,200)">asasa</a> Er der en chance for at rykket kan ske uden det sidste vertikale ryk /Nielsen
16. april 2003 - 15:09
#3
OK, got it udskiftede || med && i denne: if (pI(o.style.left)!=x || pI(o.style.top)!=y) setTimeout("anim("+x+","+y+")",40); Thanks alot, det er nøjagtig hvad jeg skulle bruge /Nielsen
16. april 2003 - 15:31
#4
Det går helt galt, hvis du udskifter || med &&. Så stopper animationen jo, når blot én af koordinaterne opfylder kravet :)
16. april 2003 - 15:41
#5
Ja, det har du ret i, har du et forslag /Nielsen
16. april 2003 - 15:46
#6
Ja, at du ikke retter det :)
16. april 2003 - 15:48
#7
LOL, Men så opstår problemet som jeg beskriver i denne kommentar: 16/04-2003 15:07:26
16. april 2003 - 20:06
#8
Oooops ..... den havde jeg overset :D Prøv det her: <script type="text/JavaScript"> var dX, dY, iX, iY, steps, numSteps = 100; function pI(s) { return parseInt(s); } function anim(x,y) { var o = document.getElementById("ib"); if (x && y) { iX = pI(o.style.left); iY = pI(o.style.top); dX = (x-iX)/numSteps; dY = (y-iY)/numSteps; steps = 0; } steps++; o.style.left = (dX*steps) + iX + "px"; o.style.top = (dY*steps) + iY + "px"; if (steps<numSteps) window.timer = setTimeout("anim()",20); } </script> <div id="ib" style="position:absolute;left:30px;top:50px;border:1px solid red">blabla</div> <button onclick="anim(500,300)">TEST</button>
16. april 2003 - 20:13
#9
... og selvfølgelig er der ingen grund til at blive ved med at kalde elementet: var o, dX, dY, iX, iY, steps, numSteps = 100; og: function anim(x,y) { if (x && y) { o = document.getElementById("ib"); iX = pI(o.style.left); iY = pI(o.style.top); dX = (x-iX)/numSteps; dY = (y-iY)/numSteps; steps = 0; } steps++; o.style.left = (dX*steps) + iX + "px"; o.style.top = (dY*steps) + iY + "px"; if (steps<numSteps) window.timer = setTimeout("anim()",20); }
16. april 2003 - 20:14
#10
hov ... hvad skete der med indrykningen .... ?!??!! :D
21. april 2003 - 18:29
#11
Exactly ;) thanks, answer please
22. april 2003 - 06:49
#12
lige et bonus spm.. Hvis jeg samtidig vil scalere elementet fra feks 200 til 20px i samme forløb som animationen sker, har du så endnu et bud. :)
22. april 2003 - 09:22
#13
fik den løst simpelt: o.style.width = parseInt(o.offsetWidth) - 4 + 'px'; o.style.height = parseInt(o.offsetHeight) - 4 + 'px'; :)
22. april 2003 - 14:24
#14
yups .... og da vi i forvejen har lavet et alias for parseInt(), kan du skrive: o.style.width = pI(o.offsetWidth) - 4 + 'px'; o.style.height = pI(o.offsetHeight) - 4 + 'px'; /mvh
22. april 2003 - 17:15
#15
u right, men skal du aldrig ha points :)
22. april 2003 - 17:52
#16
Jamen, jeg har allerede fået, tak ;o) Udfor min post (16/04-2003 14:58:21) står der da i hvert fald, at jeg er blevet begavet med et passende antal points :) /mvh
23. april 2003 - 06:35
#17
ok jeg sover videre så...
Vi tilbyder markedets bedste kurser inden for webudvikling