|
4 | 4 | // @name:zh-TW 軟瑟盤 |
5 | 5 | // @name:ja RandomSexyPicParser |
6 | 6 | // @namespace hoothin |
7 | | -// @version 1.3.9 |
| 7 | +// @version 1.3.10 |
8 | 8 | // @description Random Sexy Pictures Parser |
9 | 9 | // @description:zh-CN 随机色图 |
10 | 10 | // @description:zh-TW 隨機色圖 |
|
222 | 222 | "api.ghser.com":"buyersShow" |
223 | 223 | }; |
224 | 224 | 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; |
226 | 226 | if(!curConfig){ |
227 | 227 | var customRule=GM_getValue("RSPrules_"+document.domain); |
228 | 228 | if(customRule){ |
|
370 | 370 | } |
371 | 371 | }; |
372 | 372 |
|
| 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 | + |
373 | 405 | function restoreImg(img){ |
374 | 406 | hasFloatImg=false; |
375 | 407 | img.style.zIndex=0; |
|
383 | 415 | overMask.style.display="none"; |
384 | 416 | overMask.style.opacity=0; |
385 | 417 | img.className="list-show"; |
| 418 | + grabHandler(img,false); |
| 419 | + img.style.cursor=""; |
386 | 420 | img.scrollIntoView(); |
387 | 421 | } |
388 | 422 |
|
|
395 | 429 | img.className="list-show"; |
396 | 430 | img.style.width="100%"; |
397 | 431 | img.onclick=()=>{ |
| 432 | + if(grabed){ |
| 433 | + grabed=false; |
| 434 | + return; |
| 435 | + } |
398 | 436 | window.scrollTo(0,0); |
399 | 437 | if(img.style.zIndex==2){ |
400 | 438 | restoreImg(img); |
|
404 | 442 | img.style.maxWidth=""; |
405 | 443 | img.style.maxHeight=""; |
406 | 444 | img.style.zIndex=2; |
| 445 | + img.style.cursor="grab"; |
| 446 | + grabHandler(img,true); |
407 | 447 | document.body.style.overflow=""; |
408 | | - imgCon.style.maxHeight="100vh"; |
409 | 448 | imgCon.style.maxWidth="100vw"; |
| 449 | + imgCon.style.maxHeight="100vh"; |
410 | 450 | }else{ |
411 | 451 | if(hasFloatImg)return; |
412 | 452 | hasFloatImg=img; |
|
0 commit comments