30. maj 2003 - 21:43Der er
12 kommentarer og 1 løsning
Dynamisk MAP til IMG ?
Jeg har et billede der 'resizer' med browser vinduet og når der skiftes opløsning. Jeg har lavet et MAP til billedet med maximeret browservindue. Her kommer SPØRGSMÅLET:
Hvordan får man MAP koordinaterne til at følge med 'resize'-ningen ?
PROBLEMET er:
Imagemap'et får focus de forkerte steder eller rettere: Fokus på de koordinater der oprindeligt er defineret. D.v.s. når opløsningen bliver mindre (eller skærmområdet), så 'ryger' min mapping. Hvad gør jeg ?
Den eneste reference jeg kunne finde var, at man kan ændre usemap, altså at man kan definere forskellige usemaps for forskellige størrelser, men dynamisk udover det kunne jeg ikke finde ;-|
...jøb, det ville give mig 1024x768=786432 koordinatsæt ganget med antallet af map's pr. billede. De (koordinatsættene) skulle så udtrækkes af en database ved 'resize'...Øh, lidt uoverskueligt !!!
Du udskriver dit image-map i et div med en id. Så kan du opdatere det med 'innerHTML' på onResize. Hvordan selve udregningen af dit nye map så skal se ud, kan kun du vide :)
Yes.. Jeg ska' bare lige tjekke om onResize ikke kolliderer med mit (nej; jeg har IKKE skrevet det selv!) fixed.js script. Jeg har nemlig prøvet noget i den retning men, det gav bare: 'EVIG LØKKE' resize,resize,resize...osv. , du ved?; "TIMEGLAS" - og jeg ka' ikke rigtigt gennemskue hvorfor. Jeg må lige selv rundt i krogene før jeg spør' om mere.
Det jeg forsøgtet for et par dage siden var at opdaterer koordinaterne i MAP med et script der gav mig viduets indre koordinater, beregnde MAP koordinaterne ud fra dette og indsatte dem via javascript variable on Resize. Det gik ikke så godt. Mit script blev skrottet, så det kan jeg desværre ikke gi' dig :-(
Nu tænker jeg lige over det, men du kan jo studerer fixed.js. Skide smart script :-)
Afgjort et skod-script :) Den slags script-biblioteker bør man så vidt muligt undgå - og så skrive scriptet dedikeret til det formål, man aktuelt skal bruge det til. Ellers ender man med en bunke overflødig og redundant kode, der blot besværliggør resten af kodeskrivningen.
Umiddelbart ser den slags libs ganske smart ud, men i praksis er det noget bøvl. ... nok også én af grundende til, du formodentlig ikke finder ét professionelt bygget site, der gør brug af 'fixed.js' ;o) /mvh
Det skulle vise princippet i løsningen. Så skal du selvfølgelig beregne det nye map's koordinater og kalde scriptet med dem som argument. Det skal gøres som det sidste på onresize - i stedet for ved en knap :) /mvh
Hø hø.. det var faktisk din 'sidste løsning' jeg brugte, dog med et andet script for writeMap(im), da jeg ikke kendte innerHTML :-) Det var vist noget med:
function recal() /* skal kaldes fra body med window.onresize ! */ { if (Width != BwindowWidth() || Height != BwindowHeight()) window.history.go(0); }
Med Width og Height beregnes koordinaterne og vupti det VIRKER ! Dog ikke med 'skod-scriptet', som du kalder det; window.history.go(0) er vist skurken?
Såe... der vist ikke andet at gøre end at sende mig et svar olebole :-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.