submenus

try to take over the world!

  1. // ==UserScript==
  2. // @name submenus
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description try to take over the world!
  6. // @author You
  7. // @match https://greasyfork.org/zh-CN/script_versions/new
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13.  
  14. function createMenu() {
  15. const h3Titles = document.querySelectorAll('h3')
  16. console.log('h3Titles', h3Titles)
  17. const titles = []
  18. h3Titles.forEach((element) => {
  19. titles.push(element.id)
  20. })
  21. console.log('h3Titles', titles)
  22.  
  23. const fragment = document.createDocumentFragment()
  24. const ul = document.createElement('ol')
  25.  
  26. ul.setAttribute('class', 'submenu')
  27. ul.setAttribute('style', 'position: fixed;left: 0;top: 400px;font-size: 14px;')
  28.  
  29. titles.map((title) => {
  30. let li = document.createElement('li')
  31. let a = document.createElement('a')
  32. let text = document.createTextNode(title)
  33. let url = `#${title}`
  34.  
  35. a.setAttribute('href', url)
  36. a.appendChild(text)
  37. li.appendChild(a)
  38. fragment.appendChild(li)
  39. })
  40.  
  41. ul.appendChild(fragment)
  42. document.body.insertBefore(ul, null)
  43. }
  44.  
  45. window.onload = function() {
  46. createMenu()
  47. }
  48. /* document.addEventListener('DOMContentLoaded', function() {
  49. console.log('submenu')
  50. createMenu()
  51. }) */
  52.  
  53.  
  54. })();