سؤال

أنا أستخدم JQuery Acroction. كل شيء على ما يرام في فايرفوكس. ومع ذلك، في IE7، عند النقر فوق ارتباط في وثيقتي التي توسع أحد عناوين قائمة الأكورديون، يتم إعادة ضبط عنصر تحكم خادم My Header (Shunken). كيف يمكنني إيقاف الشاشة إعادة الحجم؟ هذه هي فتر جافا سكريبت في السؤال:

if (!$('h3.ReferenceBackgroundHeader', '#References').hasClass('ui-state-active')) {

                $("#References").accordion('activate', 0);

            }

            window.scrollTo(0, $('#References').offset().top);
            return false;

ما أريده هو .accordion('activate',indexval); عدم تغيير تنسيق رأسي.


غريب .. يجب أن يكون هناك عمل حول هذا في IE. إذا قمت بإفراغ وظيفتي خارج وتشغيل فقط:

window.scroll(0,900);

ما زلت تفقد تحكم بلدي في الأعلى؟! أي شخص لديه اقتراح؟


ربما هذه هي المشكلة .. تتكون الصفحة بالفعل من اثنين من divs. Top Div هو لعرض عنصر تحكم الرأس (قبل أيام masterpages) والقسم السفلي هو القسم الذي أحاول التمرير فيه. "المحتوى" DIV هو الشخص الذي أحتاج إليه القدرة على التمرير. DIV "الرأس" هو الشخص الذي يختفي عند التمرير. هل يمكن لأي شخص أن ينقذني حتى الآن؟ :)

<body>
<form id="Form1" method="post" runat="server">
    <div id="header">
        <uc1:Header ID="headerControl" runat="server"></uc1:Header>
    </div>
    <div id="content" style="overflow:auto">
        <asp:PlaceHolder ID="contentPlaceholder" runat="server"></asp:PlaceHolder>
    </div>
</form>

هل كانت مفيدة؟

المحلول 2

لذلك حصلت عليه حتى. أنا أعمل على القانون القديم الذي ورثته. كنت تنبح الشجرة الخطأ. لقد وجدت التعليمة البرمجية التالية في رأس الصفحة التي تعطيني الحزن:

function resizeContentWindowScrollBar() {
         var contentDiv = document.getElementById("content");
         var header = document.getElementById("header");

         if (header != null) {
             var desiredHeight = document.body.clientHeight - header.clientHeight;

             if (desiredHeight > 0) {
                 contentDiv.style.height = (document.body.clientHeight - header.clientHeight) + "px";

             }
         }


     }

لاحظ الرائد. المكالمات؟ من الواضح أن هذا المقتطف يحصل فقط على ارتفاع الرأس ومع هذا يعادل ارتفاع DIV المحتوى. كانت المشكلة (وفقط في اعتبارك) كانت وظيفة العميل هي دائما إعادة "0". استبدلت هذه مع header.offsetheight وكل شيء على ما يرام.

لذلك سيظهر ذلك في أي وظائف عملائي في أي مكان عدم العمل بشكل صحيح.

نصائح أخرى

هل لديك شريط تمرير في متصفحك قبل وبعد توسيع القائمة؟

ما قد يحدث هو أنه قبل توسيع القائمة، كل شيء يناسب الشاشة، لذلك لا يمنحك المتصفح شريط التمرير؛ ولكن عند توسيع القائمة، فإنه يحتاج إلى مساحة أكبر، لذلك يضيف المستعرض شريط التمرير، مما يؤدي إلى أسفل وحدة الويب "الحجم".

لست متأكدا من كيفية إصلاح هذه المشكلة دون إعداد كبير min-height في ملف CSS الخاص بك بحيث يظهر شريط التمرير دائما.

امل ان يساعد.

تحديث: لقد وجدت موقع الويب التي تتحدث عن كيفية إصلاح مشكلة التمرير. أردت فقط أن تدع أي شخص آخر يأتي عبر هذا الإصلاح الأنظف بكثير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top