Javascript image resize

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Shakes

Shakes

09/11/2006 23:06:00
Quote Anchor link
Hallo,

Ik heb een klein probleem met een javascript automatische image resizer.

http://www.kartfanatics.nl/data/nieuws/469

Mijn javascriptje: (Komt uit een forum)

function SMR_resize(obj) {

thisWidth = obj.width;
thisHeight = obj.height;

if(thisWidth > thisHeight) thisMaxDim = thisWidth;
else thisMaxDim = thisHeight;

if(thisMaxDim > SMR_confMaxDim) {
thisMinDim = Math.round((((thisWidth > thisHeight)?thisHeight:thisWidth) * SMR_confMaxDim) / thisMaxDim);

if(thisWidth > thisHeight) {
thisWidth = SMR_confMaxDim;
thisHeight = thisMinDim;
} else {
thisHeight = SMR_confMaxDim;
thisWidth = thisMinDim;
}
} // if(thisMaxDim > SMR_confMaxDim)

obj.height = thisHeight;
obj.width = thisWidth;
}
function SMR_setLink(obj) {
thisInnerHtml = obj.innerHTML;
tmpArray = thisInnerHtml.split(' src=\"');
tmpArray = tmpArray[1].split('"');
obj.href = tmpArray[0];
}

In Internet Explorer resized hij het plaatje wel, al levert het de eerste x laden wel problemen op. Het menu aan de linker kant staat dan opeens in het midden. In Firefox resized hij het plaatje niet, plaatje overlapt dan gewoon de rechterbalk.
 
PHP hulp

PHP hulp

22/12/2024 19:38:04
 
Jan Koehoorn

Jan Koehoorn

09/11/2006 23:11:00
Quote Anchor link
In JavaScript een image resizen zou ik afraden. JavaScript beschikt niet over functies voor het lezen en schrijven van en naar bestanden (Active X objecten van IE even buiten beschouwing gelaten).

Het plaatje wordt dus niet fysiek verkleind. Je browser geeft het op een andere grootte weer, maar browsers zijn uiterst slordig met verkleind en vergroot weergeven van plaatjes.

Je kunt beter een resize script in PHP maken/zoeken.
 
Shakes

Shakes

09/11/2006 23:55:00
Quote Anchor link
Dat weet ik Jan. Echter gaat dit om plaatjes die worden toegevoegd d.m.v. een UBB script. Dit kunnen dus externe plaatjes zijn. Om de lay-out niet te verpesten moeten die, mits te groot, verkleind worden. Echter heb ik daar continu problemen mee, misschien ook vanwege de CSS opbouw van mijn site aangezien dikwijls de linker navigatie balk met te grote plaatjes (in Iexplore) verplaatst naar het midden.
 
Shakes

Shakes

10/11/2006 00:14:00
Quote Anchor link
Ik heb nu dit: (In mijn UBB script)
// Plaatjes
$string = preg_replace("#\[img\](http)(.+?)\[/img\]#is","<img src=\"\\1\\2\" border=\"0\" onload=\"if(this.width > 500) {this.width=500}\" onclick=\"if(this.width == 500) { window.open('\\1\\2', '_blank'); return false; }\" alt=\"\" />",$string);
$string = preg_replace("#\[img\](.+?)\[/img\]#is","<img src=\"http://\\1\" border=\"0\" onload=\"if(this.width > 500) {this.width=500}\" onclick=\"if(this.width == 500) { window.open('http://\\1', '_blank'); return false; }\" alt=\"\" />",$string);

Dit werkt goed... maar nog niet helemaal. In Internet Explorer als ik voor het eerst een pagina met een te groot plaatje open wordt dat plaatje wel verkleind maar de linker navigatie komt weer in het midden te staan.

Iemand die me kan wijzen op het probleem!?
 
Shakes

Shakes

10/11/2006 15:40:00
Quote Anchor link
Heb van die linker div enkele dingen verandert in CSS (relative -> absolute positioning) en nu heb ik zelf het probleem niet meer... Toch zei iemand anders het nog wel te hebben.

Begin dus aardig gek te worden nu :(
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.