Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. (function() {
  2.  
  3. var globalTooltip = null;
  4.  
  5. function assignEvents(elems, type, event) {
  6.  
  7. for(var i = 0; i < elems.length; i++) {
  8.  
  9. elems[i].addEventListener(type, event, false);
  10.  
  11. }
  12.  
  13. }
  14.  
  15. function createTooltip(text, options) {
  16.  
  17. var tooltip = document.createElement("div");
  18.  
  19. tooltip.className = "tooltip hidden";
  20. tooltip.appendChild(document.createTextNode(text));
  21. document.body.appendChild(tooltip);
  22.  
  23. tooltip.style.left = options.x + (options.w / 2) - (tooltip.offsetWidth / 2) + "px";
  24. tooltip.style.top = (options.y - tooltip.offsetHeight - 10) + "px";
  25.  
  26. tooltip.classList.remove("hidden");
  27.  
  28. globalTooltip = tooltip;
  29.  
  30. }
  31.  
  32. function showTooltip(e) {
  33.  
  34. var options = {
  35. w: e.target.offsetWidth,
  36. x: e.target.offsetLeft,
  37. y: e.target.offsetTop
  38. };
  39.  
  40. var text = e.target.getAttribute("title");
  41.  
  42. createTooltip(text, options);
  43.  
  44. e.target.removeAttribute("title");
  45.  
  46. }
  47.  
  48. function removeTooltip(e) {
  49.  
  50. e.target.setAttribute("title", globalTooltip.textContent);
  51. globalTooltip.parentNode.removeChild(globalTooltip);
  52.  
  53. }
  54.  
  55. function init(elems) {
  56.  
  57. assignEvents(elems, "mouseenter", showTooltip);
  58. assignEvents(elems, "mouseleave", removeTooltip);
  59.  
  60. }
  61.  
  62. window.t00ltip = init;
  63.  
  64. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement