Browse Source

fix(zoom scroll position wrong): fix

master
liuyang 5 years ago
parent
commit
5830e9af5a
  1. 8
      src/controllers/sheetmanage.js
  2. 12
      src/controllers/zoom.js

8
src/controllers/sheetmanage.js

@ -698,14 +698,14 @@ const sheetmanage = {
//等待滚动条dom宽高加载完成后 初始化滚动位置
if(file["scrollLeft"] != null && file["scrollLeft"] > 0){
$("#luckysheet-scrollbar-x").scrollLeft(file["scrollLeft"] * Store.zoomRatio);
$("#luckysheet-scrollbar-x").scrollLeft(file["scrollLeft"]);
}
else{
$("#luckysheet-scrollbar-x").scrollLeft(0);
}
if(file["scrollTop"] != null && file["scrollTop"] > 0){
$("#luckysheet-scrollbar-y").scrollTop(file["scrollTop"] * Store.zoomRatio);
$("#luckysheet-scrollbar-y").scrollTop(file["scrollTop"]);
}
else{
$("#luckysheet-scrollbar-y").scrollTop(0);
@ -843,14 +843,14 @@ const sheetmanage = {
Store.scrollRefreshSwitch = false;
if(file["scrollLeft"] != null && file["scrollLeft"] > 0){
$("#luckysheet-scrollbar-x").scrollLeft(file["scrollLeft"] * Store.zoomRatio);
$("#luckysheet-scrollbar-x").scrollLeft(file["scrollLeft"]);
}
else{
$("#luckysheet-scrollbar-x").scrollLeft(0);
}
if(file["scrollTop"] != null && file["scrollTop"] > 0){
$("#luckysheet-scrollbar-y").scrollTop(file["scrollTop"] * Store.zoomRatio);
$("#luckysheet-scrollbar-y").scrollTop(file["scrollTop"]);
}
else{
$("#luckysheet-scrollbar-y").scrollTop(0);

12
src/controllers/zoom.js

@ -17,8 +17,20 @@ export function zoomChange(ratio){
clearTimeout(luckysheetZoomTimeout);
luckysheetZoomTimeout = setTimeout(() => {
let $scrollLeft = $("#luckysheet-scrollbar-x"), $scrollTop = $("#luckysheet-scrollbar-y");
let sl = $scrollLeft.scrollLeft(), st = $scrollTop.scrollTop();
let wp = $scrollLeft.find("div").width(), hp = $scrollTop.find("div").height();
jfrefreshgrid_rhcw(Store.flowdata.length, Store.flowdata[0].length);
changeSheetContainerSize();
let wc = $scrollLeft.find("div").width(), hc = $scrollTop.find("div").height();
$scrollLeft.scrollLeft(sl+wc-wp);
$scrollTop.scrollTop(st+hc-hp);
}, 100);

Loading…
Cancel
Save