2017-01-19 7 views
0

Я пытаюсь исправить в верхнем положении с помощью позиции: относительная,верхнего положения на спиральных причинах лаг Safari/IE

$(document).ready(function() { 
    var container = $(".container"); 

    container.css("overflow-y", "auto"); 
    container.css("overflow-x", "hidden"); 

    container.on("scroll", function() { 
     $("table", this).css("overflow-x", "hidden"); 
     $("th", this).css("position", "relative"); 
     $("th", this).css("z-index", 1); 
     $("th", this).css("top", this.scrollTop + "px"); 
    }); 
}); 

пример вопросов https://jsfiddle.net/hth4Ly7q/2/ он работает довольно хорошо в Chrome, Firefox, но Safari и IE лагов при прокрутке, может быть, кто-то знает, как это можно зафиксировать в сафари? Я не использую абсолютные/фиксированные позиции, потому что моя реальная таблица довольно сложна для расчета ширины столбцов на лету.

ответ

0

Это проблема, которая у меня всегда была в Safari: вы не можете ее полностью решить. Добавление события "mousewheel" поможет немного, но это не решит проблему.

1

Я пробовал на Edge и IE. Все выглядит хорошо. https://jsfiddle.net/55cynfLg/

function setTh(){ 
var container = $(".container"); 
$("table", this).css("overflow-x", "hidden"); 
$("th", this).css("z-index", 1); 
container.find("th").each(function(i){ 
    var td = container.find("tbody tr:eq(0) td:eq("+i+")"); 
    $(this).css({ 
    "width": td.width(), 
    "left": td.offset().left 
    }); 
});} 

 Смежные вопросы

  • Нет связанных вопросов^_^