diff --git a/slick.grid.js b/slick.grid.js index 7a10d2a6..71e759a2 100644 --- a/slick.grid.js +++ b/slick.grid.js @@ -4410,30 +4410,34 @@ if (typeof Slick === "undefined") { if (hScrollDist) { prevScrollLeft = scrollLeft; - $viewportScrollContainerX[0].scrollLeft = scrollLeft; - $headerScrollContainer[0].scrollLeft = scrollLeft; - $topPanelScroller[0].scrollLeft = scrollLeft; - $headerRowScrollContainer[0].scrollLeft = scrollLeft; - if (options.createFooterRow) { - $footerRowScrollContainer[0].scrollLeft = scrollLeft; - } - if (options.createPreHeaderPanel) { - if (hasFrozenColumns()) { - $preHeaderPanelScrollerR[0].scrollLeft = scrollLeft; - } else { - $preHeaderPanelScroller[0].scrollLeft = scrollLeft; + // adjust scroll position of all div containers when scrolling the grid + // add a delay to avoid screen flickering + setTimeout(function () { + $viewportScrollContainerX[0].scrollLeft = scrollLeft; + $headerScrollContainer[0].scrollLeft = scrollLeft; + $topPanelScroller[0].scrollLeft = scrollLeft; + $headerRowScrollContainer[0].scrollLeft = scrollLeft; + if (options.createFooterRow) { + $footerRowScrollContainer[0].scrollLeft = scrollLeft; } - } - - if (hasFrozenColumns()) { - if (hasFrozenRows) { - $viewportTopR[0].scrollLeft = scrollLeft; + if (options.createPreHeaderPanel) { + if (hasFrozenColumns()) { + $preHeaderPanelScrollerR[0].scrollLeft = scrollLeft; + } else { + $preHeaderPanelScroller[0].scrollLeft = scrollLeft; + } } - } else { - if (hasFrozenRows) { - $viewportTopL[0].scrollLeft = scrollLeft; + + if (hasFrozenColumns()) { + if (hasFrozenRows) { + $viewportTopR[0].scrollLeft = scrollLeft; + } + } else { + if (hasFrozenRows) { + $viewportTopL[0].scrollLeft = scrollLeft; + } } - } + }, 0); } // autoheight suppresses vertical scrolling, but editors can create a div larger than