Toon posts:

[Javascript] Foutje in script

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi, ik heb een script gevonden die precies doet wat ik wil, niet meer en niet minder.
De bedoeling is dat je op een foto klikt en dan gecentreerd een nieuw venster krijgt met de volledige foto en het venster is even groot als de foto (variabel dus).
Nu, de eerste keer dat je klikt opent het kader in een vaste groote en de 2de maal opent het kader in de juiste grootte.
hier heb je de link
http://users.skynet.be/jellepunk/jb/foto.html
en hier het javascriptje
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<script type="text/javascript">
var newWindow
function popupImage(url,title)
{
if(newWindow){
newWindow.close()
newWindow =null}

scr       = "no"
myImg     = new Image()
myImg.src = url
w         = myImg.width
h         = myImg.height
t         = Math.floor((screen.availHeight-h)/2)
l         = Math.floor((screen.availWidth-w)/2)

if(w>screen.availWidth){
w = screen.availWidth-8
l = Math.floor((screen.availWidth-w)/2)-4
scr = "yes"}
 
if(h>screen.availHeight){
h = screen.availHeight-32
t = Math.floor((screen.availHeight-h)/2)-16
scr = "yes"}

newWindow = window.open('','','width='+w+',height='+h+',left='+l+',top='+t+',scrollbars='+scr+'')

newContent  ="<html><head><title>"+title+"</title></head>"
newContent +="<body style=\"margin: 0 0 0 0;\">"
newContent +="[img]"+myImg.src+"[/img]</body></html>"

newWindow.document.write(newContent)
newWindow.document.close()} 
</script>


ook nog een raar verschijnsel dat zich voordoet is het feit dat ik het kader rond de foto's niet wegkrijg. In mijn css bestand staat trouwens
code:
1
2
3
img{
      border: none;
}

hoe het komt dat de rand nog steeds zichbaar is weet ik ook niet.
alvast bedankt

Verwijderd

Verwijderd schreef op maandag 07 februari 2005 @ 21:19:
ook nog een raar verschijnsel dat zich voordoet is het feit dat ik het kader rond de foto's niet wegkrijg. In mijn css bestand staat trouwens
code:
1
2
3
img{
      border: none;
}

hoe het komt dat de rand nog steeds zichbaar is weet ik ook niet.
alvast bedankt
border: 0px;

Verwijderd

Volgens mij komt het omdat de eerste keer de foto nog niet geladen is en daarom de browser niet weet hoe groot de foto is.

[ Voor 2% gewijzigd door Verwijderd op 07-02-2005 21:26 . Reden: typo ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 09:24

crisp

Devver

Pixelated

JavaScript:
1
2
3
4
myImg     = new Image()
myImg.src = url
w         = myImg.width
h         = myImg.height

je vraagt al de height en width uit voordat deze bekent zijn; het plaatje moet eerst geladen zijn. Je zal dus met een onload event oid moeten werken (betekent dus wel een vertraging).

Verder: het feit dat je css niet wordt toegepast komt omdat je in de HTML die je naar je window schrijft geen link naar je stylesheet opneemt ;)

Intentionally left blank


Verwijderd

Of met PHP de breedte en hoogte van het plaatje vantevoren ophalen. Ook dit zal enige vertraging opleveren.

Verwijderd

Topicstarter
bij die onload wat stel je dan voor?

  • DukeBox
  • Registratie: April 2000
  • Niet online
hoe het komt dat de rand nog steeds zichbaar is weet ik ook niet.
alvast bedankt
Omdat je in de 'popup' ook de css moet opnemen.
> newContent ="<html><head><title>"+title+"</title></head>"

Verwijderd

Verwijderd schreef op maandag 07 februari 2005 @ 21:38:
bij die onload wat stel je dan voor?
JavaScript window.onload event

http://www.mozilla.org/do...window_ref63.html#1018577

[ Voor 72% gewijzigd door Verwijderd op 08-02-2005 09:33 ]

Pagina: 1