javascript - لديك - لم تحمِّل هذه الصفحة خرائط google بشكل صحيح راجع وحدة تحكم جافا سكريبت للاطلاع على التفاصيل التقنية



تحسين سرعة التمرير لبرنامج إنترنيت إكسبلورر 11 (1)

هل يمكن أن تحاول خنق وظيفة وظيفة التمرير كل 100ms أو 200ms التي لا تزال سريعة جدا في كل ثانية.

var planningCol = $('.Planning tr > td:first-child'),
    planningHead = $('.Planning thead > tr:first-child');

$(window).scroll(function(){
    var self = this;

    throttle(function(){
        planningCol.css({ left: $(self).scrollLeft() });
        planningHead.css('top', $(self).scrollTop() + 50 + 'px');
    }(), 200); // call your function directly upon return
});

أو يمكنك استخدام كس على الجسم، واكتشاف متى يتم scrolled الصفحة أو scrolling . ثم تطبيق .scrolling { pointer-events: none !important; } .scrolling { pointer-events: none !important; } الذي يعزز واجهة المستخدم.

حاول أيضا نقل الاختيارات من وظيفة التمرير إذا كانت هي نفسها دائما.

var win = $(window),
    body = $(document.body),
    planning = $('.Planning'),
    planningCol = planning.find('tr > td').first(),
    planningHead = planning.find('thead > tr').first();

win.scroll(function(){
    // scrolled
    body.toggleClass('scrolled', !!win.scrollTop());

    // scrolling
    body.addClass('scrolling');
    planningCol.css({ left: win.scrollLeft() });
    planningHead.css({ top: win.scrollTop() });

    setTimeout(function(){
        body.removeClass('scrolling');
    }, 200);
});

لدي حاليا تطبيق مثل جدول حيث العمود الأول هو الأفقي المطلق والصف الأول الرأسي المطلق. أنا تحقيق هذا من خلال اصطياد تأثير التمرير وتغيير الخاصية اليسرى أو الأعلى من فئة كس التي تعلق عليها. (هذه الفئات يمكن أن تصل إلى 700 البنود (2 سنوات كل يوم)).

$(window).scroll(function () {
    $('.Planning tr > td:first-child').css("left", "" + $(this).scrollLeft() + "px");
    $('.Planning thead > tr:first-child').css("top", $(this).scrollTop()+50 + "px");                 
});

هذا يعمل كما هو متوقع في جميع المتصفحات (اختبرت في كروم، فايرفوكس وإنترنت إكسبلورر)

ولكن على إنترنيت إكسبلورر، انها بطيئة جدا. يظهر التمرير فقط بعد توقف التمرير، بينما في كروم وفايرفوكس يبدو وكأنه الصف العلوي هو ثابت، والتي تبدو أفضل وأكثر ودية للمستخدمين.

هل هناك أي طريقة لتعزيز هذا؟ أو أي مكتبات التي هي الأمثل لبرنامج إنترنيت إكسبلورر حتى أتمكن من تجنب هذا السلوك "بطيء" في إي؟

https://jsfiddle.net/7mfcrLh5/12/ للحصول على مثال جسفيدل (هذا يعمل كبيرة في الكروم ولكن ليس في إنترنت إكسبلورر)





internet-explorer-11