Anime player hide

Toggle video control bar visibility on number 1 key press

  1. // ==UserScript==
  2. // @name Anime player hide
  3. // @namespace dphdm
  4. // @version 1.0.3
  5. // @description Toggle video control bar visibility on number 1 key press
  6. // @author dphdmn
  7. // @match https://jut.su/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=jut.su
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12.  
  13. (function () {
  14. 'use strict';
  15.  
  16. let isHidden = false;
  17.  
  18. // Function to toggle control bar visibility
  19. const toggleControlBar = () => {
  20. const controlBar = document.querySelector('.vjs-control-bar');
  21. if (controlBar) {
  22. controlBar.style.setProperty('transition', 'visibility 0.1s, opacity 0.1s', 'important');
  23. controlBar.style.opacity = isHidden ? '0' : '1';
  24. controlBar.style.visibility = isHidden ? 'hidden' : 'visible';
  25. }
  26. };
  27.  
  28. // Function to wait for an element to be present in the DOM
  29. const waitForElement = (selector, callback, timeout = 10000, interval = 100) => {
  30. const startTime = Date.now();
  31. const checkInterval = setInterval(() => {
  32. const element = document.querySelector(selector);
  33. if (element) {
  34. clearInterval(checkInterval);
  35. callback(element);
  36. } else if (Date.now() - startTime >= timeout) {
  37. clearInterval(checkInterval);
  38. console.log(`Element "${selector}" not found after ${timeout}ms`);
  39. }
  40. }, interval);
  41. };
  42.  
  43. // Wait for the control bar element to load
  44. waitForElement('.vjs-control-bar', () => {
  45. // Add number 1 key event listener
  46. document.addEventListener('keydown', (event) => {
  47. if (event.code === 'Digit1') {
  48. event.preventDefault();
  49. isHidden = !isHidden;
  50. toggleControlBar();
  51. }
  52. });
  53. });
  54. })();