Skip to content

Commit eb0e28e

Browse files
committed
feat(image-viewer): 优化preview
1 parent 29c0ccd commit eb0e28e

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/image-viewer/getFixScaleEleTransPosition.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import { getClientSize } from './util';
22

33
function fixPoint(key: 'x' | 'y', start: number, width: number, clientWidth: number) {
44
const startAddWidth = start + width;
5-
const offsetStart = (width - clientWidth) / 2;
5+
const offsetStart = key === 'x' ? (width - clientWidth) / 2 : 0;
6+
const offsetEnd = key === 'x' ? -offsetStart : clientWidth - width;
67

78
if (width > clientWidth) {
89
if (start > 0) {
@@ -17,7 +18,7 @@ function fixPoint(key: 'x' | 'y', start: number, width: number, clientWidth: num
1718
}
1819
} else if (start < 0 || startAddWidth > clientWidth) {
1920
return {
20-
[key]: start < 0 ? offsetStart : -offsetStart,
21+
[key]: start < 0 ? offsetStart : offsetEnd,
2122
};
2223
}
2324
return {};

src/image-viewer/image-viewer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ const ImageViewer: React.FC<ImageViewerProps> = (props) => {
159159
imgRefs.current[index] = node;
160160
}}
161161
style={{
162-
transform: `matrix(${transform.scale}, 0, 0, ${transform.scale}, ${transform.x}, 0)`,
162+
transform: `matrix(${transform.scale}, 0, 0, ${transform.scale}, ${transform.x}, ${transform.y})`,
163163
transitionDuration: isTouching ? '0s' : '.3s',
164164
}}
165165
className={`${imageViewerClass}__img`}

0 commit comments

Comments
 (0)