Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 7 of 7
  1. #1
    New Coder
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    40
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Center popup on screen, with a twist!

    With the following code, you have to set a horizontal and vertical screen postition, but i'd like to have it center on the screen, regardless of the screen size. Is this possible, and if so, how?

    Thank You for your help.


    <script>

    // 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='+Positi onY;
    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("Micro soft")!=-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>
    ARON

  • #2
    Master Coder
    Join Date
    Feb 2003
    Location
    UmeŚ, Sweden
    Posts
    5,575
    Thanks
    0
    Thanked 83 Times in 74 Posts
    Try using these properties:

    screen.availWidth - what width is usable
    screen.availHeight - what height is usable
    screen.availLeft - what distance from the left edge the usable screen area begins
    screen.availTop - what distance from the top edge the usable screen area begins
    liorean <[lio@wg]>
    Articles: RegEx evolt wsabstract , Named Arguments
    Useful Threads: JavaScript Docs & Refs, FAQ - HTML & CSS Docs, FAQ - XML Doc & Refs
    Moz: JavaScript DOM Interfaces MSDN: JScript DHTML KDE: KJS KHTML Opera: Standards

  • #3
    New Coder
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    40
    Thanks
    0
    Thanked 0 Times in 0 Posts
    How exactly would I use these parameters? Just put them in here, like so?

    PositionX = screen.availWidth;
    PositionY = screen.availHeight;

    Thanks
    ARON

  • #4
    Master Coder
    Join Date
    Feb 2003
    Location
    UmeŚ, Sweden
    Posts
    5,575
    Thanks
    0
    Thanked 83 Times in 74 Posts
    You need to do a little bit more math than that...

    posTop=((screen.availHeight-popupHeight)/2)+screen.availTop;
    posLeft=((screen.availWidth-popupWidth)/2)+screen.availLeft;
    liorean <[lio@wg]>
    Articles: RegEx evolt wsabstract , Named Arguments
    Useful Threads: JavaScript Docs & Refs, FAQ - HTML & CSS Docs, FAQ - XML Doc & Refs
    Moz: JavaScript DOM Interfaces MSDN: JScript DHTML KDE: KJS KHTML Opera: Standards

  • #5
    New Coder
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    40
    Thanks
    0
    Thanked 0 Times in 0 Posts
    I put it in exactly as shown below, and I got an error, then another one. I'm probably doing something wrong. Please help!

    <script>

    // Set the horizontal and vertical position for the popup

    posTop=((screen.availHeight-popupHeight)/2)+screen.availTop;
    posLeft=((screen.availWidth-popupWidth)/2)+screen.availLeft;

    ETC...
    ARON

  • #6
    Master Coder
    Join Date
    Feb 2003
    Location
    UmeŚ, Sweden
    Posts
    5,575
    Thanks
    0
    Thanked 83 Times in 74 Posts
    popupHeight and popupWidth should either be real variables or the corresponding values that you want. I would guess you haven't defined them.
    liorean <[lio@wg]>
    Articles: RegEx evolt wsabstract , Named Arguments
    Useful Threads: JavaScript Docs & Refs, FAQ - HTML & CSS Docs, FAQ - XML Doc & Refs
    Moz: JavaScript DOM Interfaces MSDN: JScript DHTML KDE: KJS KHTML Opera: Standards

  • #7
    New Coder
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    40
    Thanks
    0
    Thanked 0 Times in 0 Posts
    There is this little tid bit:

    defaultWidth = 500;
    defaultHeight = 500;

    But I have multiple popups, of different sizes, so i don't know what I can define safely?
    ARON


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •