Avatar billede vat69 Nybegynder
24. august 2005 - 10:19 Der er 11 kommentarer og
1 løsning

magin 0 px i popup

Hej jeg bruger dette script til at lave et popup vindue med.

<script type="text/JavaScript">
function PopUp(url, w, h) {
    var u, t, l = (screen.availWidth-w)/2;
    t = (screen.availHeight-h)/2;
    u = new Date().getTime();
    vindue=window.open(url,"popup"+u,"width="+w+",height="+h+",left="+l+",top="+t+",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,copyhistory=0");
    vindue.focus();
}
</script>

Når man så trykker på et billede på min side åbner den det billede man trykker på. Der kommer dog en hvid magen rundt om billedet. Den vil jeg gerne ha væk, jeg har prøvet at sætte magin til 0 i både java scriptet og i <a href> der åbner billedet, men ja det virker ikke. nogle forslag??
Avatar billede medions Nybegynder
24. august 2005 - 10:20 #1
Der er du nødt til og skrive margin="0" i din fil, altså i url... det kan du ikke gøre fra JavaScript af, hvad jeg ved af...

Men altså du skal lave en <body margin="0"> i den fil du popper op!

//>Rune
Avatar billede vat69 Nybegynder
24. august 2005 - 10:46 #2
Det er ikke en fil jeg kalder, men billedet direkte gennem <a> taget som kalder PopUp funktionen. stien på billedet findes via php. det ser sådan ud:
($destSize[0], $destSize[1]); er dem der bestemmer størrelsen på popup billedet udfra billedet størrelse)

echo "<a href=\"#\" title=\"Se stort billede\" onclick=\"PopUp('admin/billeder/$data2[2]',$destSize[0], $destSize[1]);return false;\"><img border='0'  src='admin/produktbilleder/$data2[0]'></a>";

Jeg har prøvet at sætte style=\"margin:0px\" ind i  <a> taget med det bevirker ingen ting...
Avatar billede medions Nybegynder
24. august 2005 - 10:59 #3
echo "<html><head><title>titel</title></head><body margin=\"0\"><a href=\"#\" title=\"Se stort billede\" onclick=\"PopUp('admin/billeder/$data2[2]',$destSize[0], $destSize[1]);return false;\"><img border='0'  src='admin/produktbilleder/$data2[0]'></a></body></html>";

//>Rune
Avatar billede roenving Novice
24. august 2005 - 11:04 #4
Lyder nærmest som om du har brug for noget i denne henretning: http://roenving.users.whitehat.dk/WD1ResizeTilBillede.html !-)
Avatar billede vat69 Nybegynder
24. august 2005 - 11:32 #5
Hej roenving, jeg har faktisk være inde og se på den tidligere men jeg havde problemer med at få den til at fungere da jeg køre et php script der skal udregne brede og højde på det billede der hentes og som indeholder maxsize på popupen.

medions jeg kan ikke få det til at virke ved at sætte a taget ind i body og html.

Måske det er mit php script der bevirker at jeg får problemet?? det er her:

$maxWidth = 700;
$maxHeight = 525;

$srcSize  = getImageSize("admin/billeder/".$data2[3]);

$srcRatio  = $srcSize[0]/$srcSize[1];
$destRatio = $maxWidth/$maxHeight;
if ($destRatio > $srcRatio) {
$destSize[1] = $maxHeight;
$destSize[0] = $maxHeight*$srcRatio;
          }
    else {
  $destSize[0] = $maxWidth;
$destSize[1] = $maxWidth/$srcRatio;

Hvis det ikke kan løses let og er pga php scriptet magen kommer så kan jeg godt leve med magen. jeg troede bare det var et af de nemme problemer, men de eksistere jo sjællent ;)...
Avatar billede roenving Novice
24. august 2005 - 11:39 #6
Tjah, man kunne jo lade det javascript, som alligevel resizer popuppen til at indstille billedets størrelse også !-)
Avatar billede vat69 Nybegynder
24. august 2005 - 14:36 #7
Jeg er ikke den store haj til javascript. Jeg kan få dit script til at virke fint men det åbner billedet i den størrelse som billedet har.

Alt i alt er det nok for besværligt for mig derfor bruger jeg nok det jeg har.

Den magne der kommer uden om billederne er ok og jeg kan leve med den, men i højre side er den ca 20 px større end i venstre. Det er fordi billederne resizes hvis jeg bare kunne få den hvide magen til at være ens over alt ville det være ok :(
Avatar billede roenving Novice
24. august 2005 - 14:39 #8
Jeg har den såmænd også med tilpas til skærmens størrelse:

  <script language="javascript" type="text/javascript">
    function popWin(file){
      newWin=window.open("","ResizeBillede","width=300,height=200,status=no");
      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;hm=screen.availHeight;wm=screen.availWidth;';
      txt+='if(h>hm){w=w*hm/h;h=hm;document.images[0].style.width=w+"px";document.images[0].style.height=h+"px";};'
      txt+='if(w>wm){h=h*wm/w;w=wm;document.images[0].style.width=w+"px";document.images[0].style.height=h+"px";};'
      txt+='window.resizeTo(w+6,h+32);window.moveTo((screen.availWidth-w-6)/2,(screen.availHeight-h-32)/2)}<\57scri';
      txt+='pt><\57he'+'ad><bo'+'dy style="overflow:hidden;';
      txt+='border:0px;margin:0px"><i'+'mg src="'+file+'" style="top:0px;left:0px;border:0px;';
      txt+='" onload="resPic();" onclick="self.close()" title="Tryk for at lukke vinduet"><\57bo'+'dy><\57ht'+'ml>';
      newWin.document.write(txt);
      newWin.document.close();
    }
  </script>

-- hvis du vil have en bestemt størrelse som maksimum, skal du skrive de størrelser i stedet for screen.availWidth/Height !-)
Avatar billede vat69 Nybegynder
24. august 2005 - 15:04 #9
Ok kan kun sige 1000 tak nu virker det bare perfekt!

Takker :)
Avatar billede vat69 Nybegynder
24. august 2005 - 15:05 #10
Hov du skal lige ha point, smider du et svar...
Avatar billede roenving Novice
24. august 2005 - 15:06 #11
Velbekomme '-)
Avatar billede roenving Novice
24. august 2005 - 15:12 #12
-- og tak for point ;~}
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