[quote]
Originally posted by kullervo@Aug 11 2005, 01:25
Citat:
Ursprungligen postat av koala,Aug 11 2005, 00:05
Även om det är enkelt fixat så kanske inte Christoffer V klarar av att koda om den.
Jag var också ute och letade efter något liknande för ett år sedan (utan att hitta) och skulle egentligen fortfarande behöva det.
|
Med tanke på detta kan jag väl ge en liten skjuts i rätt riktning... Men metoden som används för att ställa in boxens storlek är inte den bästa enligt min mening. Vore mer intuitivt att använda en div som man kan flytta, och som ändrar storlek när man drar i dess kanter. Men jag tänkte inte ägna natten åt att skriva denna kod, så jag lade istället in följande rader i slutet av function mouseMove:
Kod:
var yxRatio=imgDimension.height/imgDimension.width;
var cpW = parseFloat(dragDiv.style.width);
var cpH = parseFloat(dragDiv.style.height);
if (cpH<1 || cpW/cpH > yxRatio) dragDiv.style.height = cpW*yxRatio;
else dragDiv.style.width = cpH/yxRatio;
Vissa justeringa får nog göras eftersom koden ovan förutsätter att man drar sin box neråt åt höger. Övriga riktningar måste man även ändra dragDiv.left och dragDiv.top såklart. Men det lämnas som övning åt läsaren

(Drar man t ex upp åt vänster blir resultatet inte helt önskvärt.)
Resultatet finns
här.