Caculate top manually. Avoid to use getoffset

Something to do:
    update information when reset and change screen size