|
6 | 6 | // @description Powerful picture viewing tool online, which can popup/scale/rotate/batch save pictures or find the HD original picture automatically |
7 | 7 | // @description:zh-CN NLF 的围观图修改版,增加高清原图查找显示(在线看图工具,支持图片翻转、旋转、缩放、弹出大图、批量保存、查找原图) |
8 | 8 | // @description:zh-TW NLF 的圍觀圖修改版,增加高清原圖查詢顯示(線上看圖工具,支援圖片翻轉、旋轉、縮放、彈出大圖、批量儲存、查詢原圖) |
9 | | -// @version 2017.11.15.1 |
| 9 | +// @version 2017.11.29.1 |
10 | 10 | // @created 2011-6-15 |
11 | 11 | // @namespace http://userscripts.org/users/NLF |
12 | 12 | // @homepage http://hoothin.com |
|
3224 | 3224 |
|
3225 | 3225 | this._resizeHandler=this.resizeHandler.bind(this); |
3226 | 3226 | this._keyDownListener=this.keyDownListener.bind(this); |
| 3227 | + this._keyUpListener=this.keyUpListener.bind(this); |
3227 | 3228 |
|
3228 | 3229 | //插入动态生成的css数据。 |
3229 | 3230 | this.globalSSheet.insertRule('.pv-gallery-sidebar-thumb-container{'+ |
|
3827 | 3828 | break; |
3828 | 3829 | } |
3829 | 3830 | }, |
| 3831 | + keyUpListener:function(e){ |
| 3832 | + switch(e.keyCode){ |
| 3833 | + case 82: |
| 3834 | + var img=this.img; |
| 3835 | + var cssTransform=img.style[support.cssTransform]; |
| 3836 | + var iTransform=cssTransform.replace(/rotate\([^)]*\)/i,''); |
| 3837 | + var rotatedRadians=cssTransform.indexOf("rotate")!=-1?cssTransform.replace(/.*rotate\(([\d\.]+).*/i,'$1'):0; |
| 3838 | + var PI=Math.PI; |
| 3839 | + var origin=parseFloat(rotatedRadians) + 90 * PI/180; |
| 3840 | + if(origin>=2*PI){ |
| 3841 | + origin=0; |
| 3842 | + } |
| 3843 | + img.style[support.cssTransform] = ' rotate('+ origin +'rad) ' + iTransform; |
| 3844 | + break; |
| 3845 | + } |
| 3846 | + }, |
3830 | 3847 | show:function(reload){ |
3831 | 3848 | this.shown=true; |
3832 | 3849 | galleryMode=true; |
|
3843 | 3860 | window.addEventListener('resize',this._resizeHandler,true); |
3844 | 3861 | } |
3845 | 3862 | document.addEventListener('keydown',this._keyDownListener,true); |
| 3863 | + document.addEventListener('keyup',this._keyUpListener,true); |
3846 | 3864 | }, |
3847 | 3865 | close:function(reload){ |
3848 | 3866 | document.removeEventListener('keydown',this._keyDownListener,true); |
| 3867 | + document.removeEventListener('keyup',this._keyUpListener,true); |
3849 | 3868 | this.shown=false; |
3850 | 3869 | this.minimized=false; |
3851 | 3870 |
|
@@ -7187,7 +7206,17 @@ left: -45px;\ |
7187 | 7206 | selectTool:function(tool){ |
7188 | 7207 | var command=['fv','fh']; |
7189 | 7208 | if(command.indexOf(tool)==-1){//工具选择 |
7190 | | - if(this.selectedTool==tool)return; |
| 7209 | + if(this.selectedTool==tool){ |
| 7210 | + if(tool=="rotate"){ |
| 7211 | + var PI=Math.PI; |
| 7212 | + var value=this.rotatedRadians + 90 * PI/180; |
| 7213 | + if(value>=2*PI){ |
| 7214 | + value-=2*PI; |
| 7215 | + } |
| 7216 | + this.rotate(value,true); |
| 7217 | + } |
| 7218 | + return; |
| 7219 | + } |
7191 | 7220 | var selectedTool=this.selectedTool; |
7192 | 7221 | this.selectedTool=tool; |
7193 | 7222 | if(this.tempHand || this.tempZoom){//临时工具中。不变鼠标 |
|
0 commit comments