Skip to content

Commit 48d3df6

Browse files
committed
Update randomSexyPic.user.js
1 parent 0ba1a5a commit 48d3df6

1 file changed

Lines changed: 43 additions & 3 deletions

File tree

RandomSexyPic/randomSexyPic.user.js

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
// @name:zh-TW 軟瑟盤
55
// @name:ja RandomSexyPicParser
66
// @namespace hoothin
7-
// @version 1.3.9
7+
// @version 1.3.10
88
// @description Random Sexy Pictures Parser
99
// @description:zh-CN 随机色图
1010
// @description:zh-TW 隨機色圖
@@ -222,7 +222,7 @@
222222
"api.ghser.com":"buyersShow"
223223
};
224224
GM_registerMenuCommand("Parse current api", customSet);
225-
var curConfig=setuConfig[document.domain],jsonData,hasFloatImg=false;
225+
var curConfig=setuConfig[document.domain],jsonData,hasFloatImg=false,grabed=false,oClient;
226226
if(!curConfig){
227227
var customRule=GM_getValue("RSPrules_"+document.domain);
228228
if(customRule){
@@ -370,6 +370,38 @@
370370
}
371371
};
372372

373+
function mousedownHandler(e){
374+
let img=e.target;
375+
img.addEventListener("mouseup",mouseupHandler);
376+
img.addEventListener("mousemove",mousemoveHandler);
377+
img.style.cursor="grabbing";
378+
oClient={
379+
x:window.scrollX+e.clientX,
380+
y:window.scrollY+e.clientY,
381+
};
382+
e.stopPropagation();
383+
e.preventDefault();
384+
e.returnValue=false;
385+
}
386+
function mousemoveHandler(e){
387+
let img=e.target;
388+
grabed=true;
389+
window.scrollTo(oClient.x-e.clientX, oClient.y-e.clientY);
390+
}
391+
function mouseupHandler(e){
392+
let img=e.target;
393+
img.removeEventListener("mouseup",mouseupHandler);
394+
img.removeEventListener("mousemove",mousemoveHandler);
395+
img.style.cursor="grab";
396+
}
397+
function grabHandler(img,add){
398+
if(add){
399+
img.addEventListener("mousedown",mousedownHandler);
400+
}else{
401+
img.removeEventListener("mousedown",mousedownHandler);
402+
}
403+
}
404+
373405
function restoreImg(img){
374406
hasFloatImg=false;
375407
img.style.zIndex=0;
@@ -383,6 +415,8 @@
383415
overMask.style.display="none";
384416
overMask.style.opacity=0;
385417
img.className="list-show";
418+
grabHandler(img,false);
419+
img.style.cursor="";
386420
img.scrollIntoView();
387421
}
388422

@@ -395,6 +429,10 @@
395429
img.className="list-show";
396430
img.style.width="100%";
397431
img.onclick=()=>{
432+
if(grabed){
433+
grabed=false;
434+
return;
435+
}
398436
window.scrollTo(0,0);
399437
if(img.style.zIndex==2){
400438
restoreImg(img);
@@ -404,9 +442,11 @@
404442
img.style.maxWidth="";
405443
img.style.maxHeight="";
406444
img.style.zIndex=2;
445+
img.style.cursor="grab";
446+
grabHandler(img,true);
407447
document.body.style.overflow="";
408-
imgCon.style.maxHeight="100vh";
409448
imgCon.style.maxWidth="100vw";
449+
imgCon.style.maxHeight="100vh";
410450
}else{
411451
if(hasFloatImg)return;
412452
hasFloatImg=img;

0 commit comments

Comments
 (0)