@@ -31,7 +31,6 @@ export default {
3131 viewer . pt = { top : 0 , left : 0 }
3232 viewer . updateImage ( viewer . index )
3333
34- // // 消除 body 滚动条
3534 viewer . body . classList . add ( 'is-img-preview' )
3635 viewer . el . classList . add ( 'show' )
3736 }
@@ -101,15 +100,12 @@ export default {
101100 viewer . prevImg . style . marginTop = `${ top } px`
102101 }
103102
104- // 关闭按钮处理事件
105103 EventHandler . on ( viewer . closeButton , 'click' , ( ) => {
106104 viewer . body . classList . remove ( 'is-img-preview' )
107- // 恢复 Image
108105 viewer . resetImage ( )
109106 viewer . el . classList . remove ( 'show' )
110107 } )
111108
112- // 上一张按钮处理事件
113109 EventHandler . on ( el , 'click' , '.bb-viewer-prev' , ( ) => {
114110 viewer . index --
115111 if ( viewer . index < 0 ) {
@@ -118,7 +114,6 @@ export default {
118114 viewer . updateImage ( viewer . index )
119115 } )
120116
121- // 下一张按钮处理事件
122117 EventHandler . on ( el , 'click' , '.bb-viewer-next' , ( ) => {
123118 viewer . index ++
124119 if ( viewer . index >= viewer . prevList . length ) {
@@ -127,75 +122,61 @@ export default {
127122 viewer . updateImage ( viewer . index )
128123 } )
129124
130- // 全屏/恢复按钮功能
131125 EventHandler . on ( viewer . fullScreen , 'click' , ( ) => {
132126 viewer . resetImage ( )
133127 viewer . el . classList . toggle ( 'active' )
134128 } )
135129
136- // 放大功能
137130 EventHandler . on ( viewer . zoomOut , 'click' , ( ) => viewer . processImage ( scale => scale + 0.2 ) )
138-
139- // 缩小功能
140131 EventHandler . on ( viewer . zoomIn , 'click' , ( ) => viewer . processImage ( scale => Math . max ( 0.2 , scale - 0.2 ) ) )
141-
142- // 左旋转功能
143132 EventHandler . on ( viewer . rotateLeft , 'click' , ( ) => viewer . processImage ( null , rotate => rotate - 90 ) )
144-
145- // 右旋转功能
146133 EventHandler . on ( viewer . rotateRight , 'click' , ( ) => viewer . processImage ( null , rotate => rotate + 90 ) )
147134
148-
149- // 配置缩放速度因子(值越大缩放越快)
150- const BASE_SPEED = viewer . zoomSpeed ? viewer . zoomSpeed : 0.015 ; // 基础速度
135+ const BASE_SPEED = viewer . zoomSpeed ? viewer . zoomSpeed : 0.015 ;
151136
152137 const handlerWheel = e => {
153138 e . preventDefault ( ) ;
154139 const wheel = e . wheelDelta || - e . detail ;
155140 const delta = Math . max ( - 1 , Math . min ( 1 , wheel ) ) ;
156141
157- // 动态计算速度(按住Shift时降速)
158142 const zoomStep = e . shiftKey ? BASE_SPEED * 0.2 : BASE_SPEED ;
159143
160144 if ( delta > 0 ) {
161- // 放大
162145 viewer . processImage ( scale => scale + zoomStep ) ;
163- } else {
164- // 缩小(保持最小缩放比例0.195)
146+ }
147+ else {
165148 viewer . processImage ( scale => Math . max ( 0.195 , scale - zoomStep ) ) ;
166149 }
167150 }
168- // 鼠标放大缩小
151+
169152 EventHandler . on ( viewer . prevImg , 'mousewheel' , handlerWheel )
170153 EventHandler . on ( viewer . prevImg , 'DOMMouseScroll' , handlerWheel )
171-
172- // 点击遮罩关闭功能
173154 EventHandler . on ( viewer . mask , 'click' , ( ) => {
174155 viewer . closeButton . click ( )
175156 } )
176-
177- // 增加键盘支持
178157 EventHandler . on ( document , 'keydown' , e => {
179158 if ( e . key === "ArrowUp" ) {
180159 viewer . zoomOut . click ( )
181- } else if ( e . key === "ArrowDown" ) {
160+ }
161+ else if ( e . key === "ArrowDown" ) {
182162 viewer . zoomIn . click ( )
183- } else if ( e . key === "ArrowLeft" ) {
163+ }
164+ else if ( e . key === "ArrowLeft" ) {
184165 const prevButton = viewer . el . querySelector ( '.bb-viewer-prev' )
185166 if ( prevButton ) {
186167 prevButton . click ( )
187168 }
188- } else if ( e . key === "ArrowRight" ) {
169+ }
170+ else if ( e . key === "ArrowRight" ) {
189171 const nextButton = viewer . el . querySelector ( '.bb-viewer-next' )
190172 if ( nextButton ) {
191173 nextButton . click ( )
192174 }
193- } else if ( e . key === "Escape" ) {
175+ }
176+ else if ( e . key === "Escape" ) {
194177 viewer . closeButton . click ( )
195178 }
196179 } )
197-
198- // 缩放处理
199180 EventHandler . on ( viewer . prevImg , 'touchstart' , e => {
200181 e . preventDefault ( )
201182
@@ -286,8 +267,6 @@ export default {
286267 e => {
287268 viewer . originX = e . clientX || e . touches [ 0 ] . clientX
288269 viewer . originY = e . clientY || e . touches [ 0 ] . clientY
289-
290- // 偏移量
291270 viewer . pt . top = parseInt ( viewer . prevImg . style . marginTop )
292271 viewer . pt . left = parseInt ( viewer . prevImg . style . marginLeft )
293272
@@ -317,48 +296,23 @@ export default {
317296 } ,
318297
319298 dispose ( viewer ) {
320-
321- // 关闭按钮处理事件
322299 EventHandler . off ( viewer . closeButton , 'click' )
323-
324- // 上一张按钮处理事件
325300 EventHandler . off ( viewer . element , 'click' , '.bb-viewer-prev' )
326-
327- // 下一张按钮处理事件
328301 EventHandler . off ( viewer . element , 'click' , '.bb-viewer-next' )
329-
330- // 全屏/恢复按钮功能
331302 EventHandler . off ( viewer . fullScreen , 'click' )
332-
333- // 放大功能
334303 EventHandler . off ( viewer . zoomOut , 'click' )
335-
336- // 缩小功能
337304 EventHandler . off ( viewer . zoomIn , 'click' )
338-
339- // 左旋转功能
340305 EventHandler . off ( viewer . rotateLeft , 'click' )
341-
342- // 右旋转功能
343306 EventHandler . off ( viewer . rotateRight , 'click' )
344-
345- // 鼠标放大缩小
346307 EventHandler . off ( viewer . prevImg , 'mousewheel' )
347308 EventHandler . off ( viewer . prevImg , 'DOMMouseScroll' )
348-
349- // 触摸放大缩小
350309 EventHandler . off ( viewer . prevImg , 'touchstart' )
351310 EventHandler . off ( viewer . prevImg , 'touchmove' )
352311 EventHandler . off ( viewer . prevImg , 'touchend' )
353312 EventHandler . off ( viewer . prevImg , 'touchcancel' )
354-
355- //drag
356- Drag . dispose ( viewer . prevImg )
357-
358- // 点击遮罩关闭功能
359313 EventHandler . off ( viewer . mask , 'click' )
360-
361- // 增加键盘支持
362314 EventHandler . off ( document , 'keydown' )
315+
316+ Drag . dispose ( viewer . prevImg )
363317 }
364318}
0 commit comments