1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

onResize Event در جاوا اسکریپت

شروع موضوع توسط minaaa ‏21/10/11 در انجمن Java Script

  1. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    از آنجایی که درنسخه ۴ برنامه Netscape, هنگام تغییر اندازه پنجره یک bug معروف وجود داشته بنابراین بایستی بعد از تغییر اندازه صفحه, محتویات درون پنجره را مجددا Load نمود.
    برای اجرای onResize Event

    if(document.layers) {
    1.
    همانطور که ذکر شد این اسکریپت فقط برای Netscape 4 نیاز میباشد. به یاد داشته باشید که document.layers نیز یکی از Object هایی بوده که تنها در این browser وجود دارد.

    origWidth = window.innerWidth
    origHeight = window.innerHeight
    2.
    در صورتیکه کاربر در Netscape 4 باشد, ایتدا ابعاد پنجره اصلی (Orginal) را برای استفاده آینده نگهداری میکند.

    function resizeFix() {
    3.
    در این قسمت عمل resize تحت کنترل قرار میگیرد.

    if(document.layers) {
    4.
    مجددا برای کسب اطمینان, وجود Netscape 4 بررسی میشود.

    if(window.innerWidth != origWidth || window.innerHeight != origHeight) {
    5.
    در صورتیکه یا اندازه طول و یا عرض پنجره تغییر کرده باشد آماده انجام عمل بارگذاری مجدد محتویات صفحه در مرحله بعد خواهد شد و در غیر این صورت عملی صورت نمیگیرد.

    window.location.reload()
    6.
    در صورتیکه ابعاد صفحه پنجره تغییر کرده باشد, محتویات درون صفحه مجددا بارگذاری میشوند.

    onResize=”resizeFix()”
    7.
    در این قسمت پس از تغییر در ابعاد پنجره, تابع resizeFix فراخوانده میشود.

    <html>
    <head>

    <script language=”javascript” type=”text/javascript”>
    if(document.layers) {
    origWidth = window.innerWidth
    origHeight = window.innerHeight
    }

    function resizeFix() {
    if(document.layers) {
    if(window.innerWidth != origWidth || window.innerHeight != origHeight) {
    window.location.reload()
    }
    }
    }

    </script>
    </head>
    <body onResize=”resizeFix()”>

    [h=2]IranJavaScript.com[/h]

    </body>
    </html>