Ik heb echt wat vaags nu: Wanneer men in een iframe een plaatje selecteert en resized dan wordt de volgende functie aangeroepen:
onresize="parent.resizeImage(this,'400','300')"
400 = maximaal toegestane breedte
300 = maximaal toegestane hoogte
Deze functie doet het volgende:
De bedoeling van dit scriptje is dat afbeeldingen geresized kunnen worden op schaal en niet groter dan de tablecel waar ze in staan. Wel kleiner dus.
Om dan te resizen selecteer ik het plaatje en dan komen er van die vierkantjes op de hoekjes en middenin (Net zoals in Word). Ik kan dan het plaatje bij zo'n vierkantje pakken en slepen naar het gewenste formaat.
Nu is het vage dat hij prima resized op de hoogte, ik kan hem telkens middenonderaan pakken bij het vierkantje en resizen, maar wanneer ik hem wil resizen op de breedte dat dat maar 1 keer goed gaat. Wanneer ik hem dan nog een keer resize, dan blijft hij gewoon de afmetingen houden die hij al had.
Wanneer ik de hoogte en breedte if loopjes omdraai, dan gaat het precies andersom, dan werkt breedte dus goed en hoogte maar een keer. Ik hoop dat ik een beetje duidelijk kan maken wat er gebeurd. Zie ik wat doms over het hoofd?
onresize="parent.resizeImage(this,'400','300')"
400 = maximaal toegestane breedte
300 = maximaal toegestane hoogte
Deze functie doet het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| function resizeImage(element,breedte,hoogte)
{
var id = element.id;
var nieuwe_hoogte = window.foo.document.getElementById(id).height;
var nieuwe_breedte = window.foo.document.getElementById(id).width;
if(nieuwe_hoogte >= hoogte)
{
foo.document.getElementById(id).style.width = breedte;
foo.document.getElementById(id).style.height = hoogte;
}
if(nieuwe_hoogte < hoogte)
{
var deelfactor = hoogte / nieuwe_hoogte;
var nieuwe_breedte = breedte / deelfactor;
foo.document.getElementById(id).style.height = nieuwe_hoogte;
foo.document.getElementById(id).style.width = nieuwe_breedte;
}
if(nieuwe_breedte >= breedte)
{
foo.document.getElementById(id).style.width = breedte;
foo.document.getElementById(id).style.height = hoogte;
}
if(nieuwe_breedte < breedte)
{
deelfactor = breedte / nieuwe_breedte;
var nieuwe_hoogte = hoogte / deelfactor;
foo.document.getElementById(id).style.width = nieuwe_breedte;
foo.document.getElementById(id).style.height = nieuwe_hoogte;
}
} |
De bedoeling van dit scriptje is dat afbeeldingen geresized kunnen worden op schaal en niet groter dan de tablecel waar ze in staan. Wel kleiner dus.
Om dan te resizen selecteer ik het plaatje en dan komen er van die vierkantjes op de hoekjes en middenin (Net zoals in Word). Ik kan dan het plaatje bij zo'n vierkantje pakken en slepen naar het gewenste formaat.
Nu is het vage dat hij prima resized op de hoogte, ik kan hem telkens middenonderaan pakken bij het vierkantje en resizen, maar wanneer ik hem wil resizen op de breedte dat dat maar 1 keer goed gaat. Wanneer ik hem dan nog een keer resize, dan blijft hij gewoon de afmetingen houden die hij al had.
Wanneer ik de hoogte en breedte if loopjes omdraai, dan gaat het precies andersom, dan werkt breedte dus goed en hoogte maar een keer. Ik hoop dat ik een beetje duidelijk kan maken wat er gebeurd. Zie ik wat doms over het hoofd?