overlapping_elements.html 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>An element that disappears on click</title>
  5. <style>
  6. #under {
  7. position: absolute;
  8. top: 20px;
  9. left: 20px;
  10. width: 100px;
  11. height: 100px;
  12. background-color: white;
  13. }
  14. #partially_under {
  15. position: absolute;
  16. top: 20px;
  17. left: 10px;
  18. width: 100px;
  19. height: 100px;
  20. background-color: blue;
  21. opacity: 0.5;
  22. }
  23. #over {
  24. position: absolute;
  25. top: 20px;
  26. left: 20px;
  27. width: 100px;
  28. height: 100px;
  29. background-color: red;
  30. opacity: 0.5;
  31. }
  32. #log {
  33. position: absolute;
  34. top: 120px;
  35. }
  36. </style>
  37. </head>
  38. <body id="body">
  39. <div id="under"><p id="contents">Hello</p></div>
  40. <div id="partially_under"><p id="other_contents">Hello</p></div>
  41. <div id="over"></div>
  42. <div id="log">
  43. <p>Log:<p>
  44. </div>
  45. <script>
  46. var byId = document.getElementById.bind(document);
  47. var log = byId("log");
  48. function handler(ev) {
  49. log.innerHTML += "<p></p>";
  50. log.lastElementChild.textContent = ev.type + " in " + ev.target.id + " (handled by " + ev.currentTarget.id + ")\n";
  51. }
  52. var under = byId("under");
  53. var over = byId("over");
  54. var body = document.body;
  55. var types = ["click", "mousedown", "mouseup"];
  56. for (var i = 0, type; (type = types[i]); ++i) {
  57. under.addEventListener(type, handler);
  58. over.addEventListener(type, handler);
  59. body.addEventListener(type, handler);
  60. }
  61. </script>
  62. </body>
  63. </html>