Avatar billede rille101 Nybegynder
19. juli 2005 - 23:30 Der er 9 kommentarer og
1 løsning

sær beskæring af billede i pop up vindue

Jeg har denne kode, og pop up funktionen virker fint.
Dog er der en twist jeg ikke rigtig kan finde ud af.

<script>

// Script Source: CodeLifter.com
// Copyright 2003
// Do not remove this notice.

// SETUPS:
// ===============================

// Set the horizontal and vertical position for the popup

PositionX = 100;
PositionY = 100;

// Set these value approximately 20 pixels greater than the
// size of the largest image to be used (needed for Netscape)

defaultWidth  = 500;
defaultHeight = 500;

// Set autoclose true to have the window close automatically
// Set autoclose false to allow multiple popup windows

var AutoClose = true;

// Do not edit below this line...
// ================================
if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}
var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
var optIE='scrollbars=no,width=150,height=100,left='+PositionX+',top='+PositionY;
function popImage(imageURL,imageTitle){
if (isNN){imgWin=window.open('about:blank','',optNN);}
if (isIE){imgWin=window.open('about:blank','',optIE);}
with (imgWin.document){
writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</style>');writeln('<sc'+'ript>');
writeln('var isNN,isIE;');writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
writeln('isNN=(navigator.appName=="Netscape")?1:0;');writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
writeln('function reSizeToImage(){');writeln('if (isIE){');writeln('window.resizeTo(100,100);');
writeln('width=100-(document.body.clientWidth-document.images[0].width);');
writeln('height=100-(document.body.clientHeight-document.images[0].height);');
writeln('window.resizeTo(width,height);}');writeln('if (isNN){');     
writeln('window.innerWidth=document.images["George"].width;');writeln('window.innerHeight=document.images["George"].height;}}');
writeln('function doTitle(){document.title="'+imageTitle+'";}');writeln('</sc'+'ript>');
if (!AutoClose) writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()">')
else writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()" onblur="self.close()">');
writeln('<img name="George" src='+imageURL+' style="display:block"></body></html>');
close();       
}}

</script>

Nogle af billederne bliver beskåret i højre side. Jeg tror det drejer sig om de stående billeder.

Så vidt jeg kan se på min side, så bliver de liggende billeder vist korrekt.

Er der nogen der kan se, hvad der er galt?
Avatar billede roenving Novice
20. juli 2005 - 11:03 #1
Efter grundigt at have kigget den igennem, kan jeg ikke finde nogen grund til det, nej ...

Men der ligger også en underlig tankegang i den, for funktionen overfører ikke resultatet af browser-checket, men laver det en gang til i popuppen, brugeren har vel ikke skiftet browser i mellemtiden ?-)

-- men scriptet er vist også lavet på baggrund af et script fra browser-krigens dage, for man kan faktisk lave scriptet, så browser-checket er (næsten !-) unødvendigt ...

-- det var vist også det script, som inspirerede mig til: http://roenving.users.whitehat.dk/WD1ResizeTilBillede.html
Avatar billede rille101 Nybegynder
20. juli 2005 - 11:32 #2
Jeps, når jeg bruger koden fra dit site, så virker det...
Smider du et svar?!

Hvis jeg nu ville have en lille margen rundt om billerne, samt en baggrundsfarve i pop up'en, kan man så det?
Avatar billede roenving Novice
20. juli 2005 - 11:37 #3
Sagtens, alt kan tilføjes, jeg tror jeg har 10 eller 15 versioner liggende, har du andre ønsker ?-)

Titel pr. billede, centrering, luk onclick, måske en billed-tekst nedenunder ?-)
Avatar billede rille101 Nybegynder
20. juli 2005 - 11:42 #4
Hmmmm. Du er en gavmild person, for jeg sad faktisk og tænkte på netop billedtekst og så autoclose(lukker når den ikke er aktiv)

Hvis det ikke er for meget forlangt, ville det være fedt hvis jeg kunne få sådan en funktion på min side :)
Avatar billede roenving Novice
20. juli 2005 - 11:55 #5
Et eksempel:

<meta name="keywords" content="roenving,http://www.eksperten.dk/spm/619538">

  <script language="javascript" type="text/javascript">
    function popWin(file,text){
      newWin=window.open("","ResizeBillede","width=300,height=200,status=no,resizable");
      txt='<ht'+'ml><he'+'ad><ti'+'tle>Resize til billede<\57ti'+'tle><scri';
      txt+='pt language="javascript" type="text/javascript">';
      txt+='function resPic(){h=document.images[0].scrollHeight;';
      txt+='w=document.images[0].scrollWidth;window.resizeTo(w+6,h+56);window.moveTo((screen.availWidth-w-6)/2,(screen.availHeight-h-56)/2)}<\57scri';
      txt+='pt><\57he'+'ad><bo'+'dy style="overflow:hidden;background:black;color:white;';
      txt+='border:0px;margin:0px" onblur="self.close();"><i'+'mg src="'+file+'" style="top:0px;left:0px;border:0px;';
      txt+='" onload="resPic();" onclick="self.close();" title="Tryk for at lukke vinduet">';
      txt+='<h4 style="margin:0;text-align:center;">'+text+'<\57h4><\57bo'+'dy><\57ht'+'ml>';
      newWin.document.write(txt);
      newWin.document.close();
    }
  </script>

<img src="../billede.jpg" width="100" height="100" onclick="popWin(this.src,'Tekst')">

-- og en stribe kommentarer:

-- der bruges background:black; color:white; dem ændrer du til de farver du ønsker ...

-- der er margin:0; det ændrer du f.eks. til margin:10px; ...

-- du skal så forøge værdierne i window.resizeTo(w+6,h+56); med marginen, altså bliver det med 10px margin: window.resizeTo(w+26,h+76);

-- title er her Resize til billede, det ændrer du selvfølgelig til den tekst, du vil have i vinduets titelbar !-)

Velbekomme '-)
Avatar billede rille101 Nybegynder
20. juli 2005 - 12:12 #6
Mange tak for det, roenving!
Det virker bare...
Avatar billede roenving Novice
20. juli 2005 - 12:13 #7
-- og jeg takker for point ;~}
Avatar billede rille101 Nybegynder
20. juli 2005 - 19:41 #8
Hey roenving!
ved ikke om du læser dette indlæg, men jeg vil lige spørge, om du ved hvad jeg skal skrive for at få et billede som baggrund?

Og min tekst under billedet ville jeg gerne have skiftet fra times new roman til verdana.

kan man det?
Avatar billede roenving Novice
21. juli 2005 - 02:25 #9
Baggrund ?-)

-- hvis det er i popuppen er det ikke muligt, men man kan da lave noget med at lægge flere lag oven på hinanden ...

-- font-family er umiddelbart til at ændre:

      txt+='pt><\57he'+'ad><bo'+'dy style="overflow:hidden;background:black;color:white;font-family:verdana sans-serif;';
Avatar billede rille101 Nybegynder
21. juli 2005 - 10:29 #10
OK, mange tak igen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester