Guest User

image preview

a guest
Jul 17th, 2024
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 1.45 KB | Source Code | 0 0
  1. // ==UserScript==
  2. // @name        image preview
  3. // @namespace   Violentmonkey Scripts
  4. // @match       https://2ch.hk/2d/res/*
  5. // @grant       none
  6. // @version     1.0
  7. // @author      kit
  8. // ==/UserScript==
  9.  
  10.  
  11. (() => {
  12.  
  13.   const xOffset = 20;
  14.   const yOffset = 20;
  15.  
  16.   const preview = document.createElement("img")
  17.   preview.style = `
  18.     display: none;
  19.     height: 50vh;
  20.     position: absolute;
  21.     z-index: 100
  22.   `
  23.   document.body.appendChild(preview)
  24.  
  25.   Array.prototype.forEach.call(document.getElementsByClassName("de-file-img"), (element) => {
  26.     element.onmouseover = (event) => {
  27.       if (event.target.tagName !== "IMG") {
  28.         return
  29.       }
  30.       preview.src = event.target.src
  31.       preview.style.display = "block"
  32.       const previewWidth = preview.offsetWidth;
  33.       const previewHeight = preview.offsetHeight;
  34.       let x = event.pageX + xOffset;
  35.       let y = event.pageY + yOffset;
  36.  
  37.       if ((x + previewWidth) > window.innerWidth) {
  38.           x = Math.max(0, event.pageX - previewWidth - xOffset);
  39.       }
  40.       if ((y + previewHeight) > window.innerHeight) {
  41.           y = Math.max(0, event.pageY - previewHeight - yOffset);
  42.       }
  43.  
  44.       preview.style.left = x + 'px';
  45.       preview.style.top = y + 'px';
  46.     }
  47.  
  48.     element.onmouseout = (event) => {
  49.       if (event.target.tagName !== "IMG") {
  50.         return
  51.       }
  52.       preview.src = event.target.src
  53.       preview.style.display = "none"
  54.     }
  55.   })
  56.  
  57. })();
Add Comment
Please, Sign In to add comment