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

12
src/controllers/zoom.js

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

Loading…
Cancel
Save