|
|
 | Pop-up fejl Fra : Maria Leger |
Dato : 06-06-05 17:35 |
|
Jeg har lavet en hjemmeside for min far hvor han viser sine
fotos. På dette link ses en side
http://www.florient.dk/1indien.html Jeg har ved hjælp fra denne
nyhedsgruppe lavet scriptet om så pop-upen automatisk tilpasses
billedet størrelse men det virker ikke helt. Første gang man
klikker på et billede kommer kun et lille pop-up og der sker ikke
mere. er der nogen som kan hjælpe mig af med denne fejl????
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Tomasz Otap (06-06-2005)
 | Kommentar Fra : Tomasz Otap |
Dato : 06-06-05 20:41 |
|
Maria Leger proclaimed as follows:
> nyhedsgruppe lavet scriptet om så pop-upen automatisk tilpasses
> billedet størrelse men det virker ikke helt. Første gang man
> klikker på et billede kommer kun et lille pop-up og der sker ikke
> mere. er der nogen som kan hjælpe mig af med denne fejl????
Hej Maria
Jeg kan godt huske den script - den gav os nogle grå hår i hovedet
sidehen, da vi fandt selvsamme bug i den. Den endelige udgave kom til at
se lidt anderledes ud, men virker efter hensigten. Den accepterer nu tre
argumenter:
- navnet på filen
- titlen for vinduet (vises i titelbjælken)
- teksten, der skal placeres under billedet (vinduet udvides for at gøre
plads til tekst - kan udelades
Eksempel:
<a href="Show('billede.jpg','Mit billede','Dette er mit billede.');">vis
billedet</a>
Kode: (evt. overflødige linieskift skal muligvis justeres)
function Show(filename,winTitle,imgText)
{
// Hent billedet
var myImage = new Image();
myImage.src = filename+'?'+Math.random()*100000;
// Starterstørrelse for loadervindue
var loadWidth = 200;
var loadHeight = 100;
var loadText = '<div align="center">'+
'Henter billedet - '+
'vent venligst...</div>';
posX = Math.round(((screen.width/2)-(loadWidth/2)));
posY = Math.round(((screen.height/2)-(loadHeight/2)));
imgWindow = window.open('','','width='+loadWidth+
',height='+loadHeight+
',left='+posX+',top='+posY);
// Indsæt default titel, hvis mangler
if (!winTitle) { winTitle = 'Billede'; }
html = '<html><head><title>'+winTitle+'</title>'+
'<style type="text/css">body {margin: 0;} '+
'div {text-align: center; margin-top: 3px; }</style>'+
'</head>';
html += '<body></body></html>';
imgWindow.document.write(html);
var winBody = imgWindow.document.body;
winBody.innerHTML = loadText;
// onerror: billedet ikke fundet
myImage.onerror = function() {
winBody.innerHTML = '<div align="center">'+
'<b>Billedet blev ikke fundet på serveren!</b>'+
'</div>';
}
// onload: billedet er hentet ind
myImage.onload = function() {
// Find nyt skærmposition og størrelse
posX = Math.round(((screen.width/2)-(myImage.width/2)));
var myHeight =
(imgText==undefined?myImage.height:myImage.height+50);
posY = Math.round(((screen.height/2)-(myHeight/2)));
imgWindow.moveTo(posX,posY);
imgWindow.resizeBy(myImage.width-loadWidth,myHeight-loadHeight);
// Indsæt HTML for siden
html = '<img src="'+myImage.src+
'" width="'+myImage.width+
'" height="'+myImage.height+
'" alt="Klik på billedet for at lukke vinduet."'+
' name="Billede" id="PopupBillede" onclick="self.close();">';
html += (imgText==undefined?'':'<div>'+imgText+'</div>');
winBody.innerHTML = html;
}
}
Held og lykke.
t
| |
|
|