Avatar billede johsw Nybegynder
30. juni 2003 - 15:24 Der er 3 kommentarer

Returne værdierne for placering af nærværende vindue

Jeg vil gerne lave et popup, der knytter sig til placeringen af det vindue, der linkes fra.

Det skal fungere således, at det nye vindue åbner 330 pix til højre for midten af det vindue jeg linker fra. Det skal altså ikke være afhængigt af skærmens bredde, men af det åbne vindues placering. Gi'r det mening?
Avatar billede grunken Nybegynder
30. juni 2003 - 17:17 #1
et eksempel ku se sådan ud :)

<script language="javascript" type="text/javascript">

var pl = 330 //pixels til højre for midten
var pt = 200 //pixels fra toppen og ned 
var vh = 300 //vinduets højde
var vb = 300 //vinduets bredde

function hund(){
if (navigator.appName == "Microsoft Internet Explorer"){
    l = window.screenLeft;
    w = document.body.offsetWidth/2;
}else{
    l = window.screenX;
    w = window.innerWidth/2;
}
vindue = window.open('fil.html','vindue','height='+vh+', width='+vb+' top='+pt+', left='+(l+w+pl)+'');
vindue.moveTo(l+w+pl,pt);
vindue.focus();
}
</script>


<body>
<html>
<a href="#" onclick="hund();">Åben</a>
</html> 
</body>
Avatar billede johsw Nybegynder
01. juli 2003 - 10:48 #2
Ja, grunken. På IE er det HELT perfekt! Nøjagtigt som jeg havde forestillet mig, men... Det virker bare ikke i NS (4.08), Opera (7.1) og heller ikke i IE på Mac. Har du et bud mere ;o)
Avatar billede grunken Nybegynder
01. juli 2003 - 12:24 #3
virker sikkert stadig ikke i alle dine browsere...

men sidste bud er :

<script language="javascript" type="text/javascript">

var l
var w
var pl = 330 //pixels til højre for midten
var pt = 200 //pixels fra toppen og ned 
var vh = 300 //vinduets højde
var vb = 300 //vinduets bredde

function hund(){
//den gængse metode i : IE Mozilla

if(document.body.offsetWidth || document.body.offsetHeight){

    l = self.screenLeft;
    w = document.body.clientHeight/2;}

//den gængse metode i : opera, Netscape 6+, Netscape 4x, Mozilla
if (window.innerWidth || window.innerHeight){

    l = self.screenX;
    w = self.innerWidth/2;}

//den gængse metode i : ie på Mac
if (document.documentElement.offsetWidth) {

    l = self.screenLeft;
    w = document.documentElement.offsetWidth;}


vindue = window.open('fil.html','vindue','height='+vh+', width='+vb+' top='+pt+', left='+(l+w+pl)+'');
vindue.moveTo(l+w+pl,pt);
vindue.focus();
}
</script>


<body>
<html>
<a href="#" onclick="hund();">Åben</a>
</html> 
</body>

Mine forslag leg lidt med det selv!, eller vent på en anden ;D
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