Resizing web page

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • lightgram
    New Member
    • Sep 2007
    • 9

    Resizing web page

    Hi

    I have afunction that redraws my page on the body onload event of my asp.net web page.

    [CODE=html]
    <body onload="Resize( screen.availHei ght,screen.avai lWidth)" >
    [/CODE]

    The resize function then calculates a div width of 5% of what is available then adds the width of the calculated div to each of my positioned elements on the page:

    [CODE=javascript]
    function Resize(availHei ght,availWidth)
    {
    document.getEle mentById("dvSpa cer").style.wid th = parseInt(availW idth * (5/100));
    document.getEle mentById("dvSpa cer").style.hei ght = availHeight;
    document.getEle mentById("dvFor m").style.le ft = parseInt(docume nt.getElementBy Id("dvSpacer"). style.width);
    document.getEle mentById("dvFor m").style.wi dth = parseInt(availW idth * (95/100));
    document.getEle mentById("dvFor m").style.heigh t = availHeight;
    document.getEle mentById("divGr id").style.le ft = parseInt(docume nt.getElementBy Id("divGrid").s tyle.left) + parseInt(docume nt.getElementBy Id("dvSpacer"). style.width);
    document.getEle mentById("tbDat eFrom").style.l eft = parseInt(docume nt.getElementBy Id("tbDateFrom" ).style.left) + parseInt(docume nt.getElementBy Id("dvSpacer"). style.width);
    document.getEle mentById("tbDat eTo").style.lef t = parseInt(docume nt.getElementBy Id("tbDateTo"). style.left) + parseInt(docume nt.getElementBy Id("dvSpacer"). style.width);
    }
    [/CODE]
    etc

    This all works fine. However I do get an initial "jump" between the original position and the newly calculated position on every load of the page.

    Is there any way I can make this happen just once then retain the newly calculated positions thus eliminating the jumping?

    Thanks in advance.
    Last edited by gits; Oct 4 '07, 02:49 PM. Reason: fix code tags
  • acoder
    Recognized Expert MVP
    • Nov 2006
    • 16032

    #2
    Use a cookie to store the positions. In your resize function, first check for the cookie. If not set, recalculate, otherwise use the values that you retrieve from the cookie.

    Comment

    Working...