events.html 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <link href="../css/perfect-scrollbar.css" rel="stylesheet">
  5. <script src="../dist/perfect-scrollbar.js"></script>
  6. <style>
  7. #container {
  8. position: relative;
  9. margin: 0px auto;
  10. padding: 0px;
  11. width: 600px;
  12. height: 400px;
  13. overflow: auto;
  14. }
  15. #container .content {
  16. background-image: url('./assets/azusa.jpg');
  17. width: 1280px;
  18. height: 720px;
  19. }
  20. table {
  21. width: 600px;
  22. margin: 30px auto;
  23. }
  24. table td:first-child {
  25. width: 200px;
  26. padding-right: 10px;
  27. text-align: right;
  28. font-weight: bold;
  29. }
  30. </style>
  31. </head>
  32. <body>
  33. <div id="container">
  34. <div class="content">
  35. </div>
  36. </div>
  37. <table>
  38. <tr>
  39. <td>Axis:</td>
  40. <td id="axis"></td>
  41. </tr>
  42. <tr>
  43. <td>Direction:</td>
  44. <td id="direction"></td>
  45. </tr>
  46. <tr>
  47. <td>Reach event:</td>
  48. <td id="reach-event"></td>
  49. </tr>
  50. <tr>
  51. <td>Reach state (<code>ps.reach</code>):</td>
  52. <td id="reach-state"></td>
  53. </tr>
  54. </table>
  55. <script>
  56. var $ = document.querySelector.bind(document);
  57. var container = $('#container');
  58. var axis = $('#axis');
  59. var direction = $('#direction');
  60. var reachEvent = $('#reach-event');
  61. var reachState = $('#reach-state');
  62. var ps = new PerfectScrollbar(container);
  63. function showReachState() {
  64. reachState.textContent = JSON.stringify(ps.reach);
  65. }
  66. showReachState();
  67. container.addEventListener('scroll', showReachState);
  68. container.addEventListener('ps-scroll-y', function () {
  69. axis.textContent = 'ps-scroll-y';
  70. reachEvent.textContent = '';
  71. });
  72. container.addEventListener('ps-scroll-x', function () {
  73. axis.textContent = 'ps-scroll-x';
  74. reachEvent.textContent = '';
  75. });
  76. container.addEventListener('ps-scroll-up', function () {
  77. direction.textContent = 'ps-scroll-up';
  78. });
  79. container.addEventListener('ps-scroll-down', function () {
  80. direction.textContent = 'ps-scroll-down';
  81. });
  82. container.addEventListener('ps-scroll-left', function () {
  83. direction.textContent = 'ps-scroll-left';
  84. });
  85. container.addEventListener('ps-scroll-right', function () {
  86. direction.textContent = 'ps-scroll-right';
  87. });
  88. container.addEventListener('ps-y-reach-start', function () {
  89. reachEvent.textContent = 'ps-y-reach-start';
  90. });
  91. container.addEventListener('ps-y-reach-end', function () {
  92. reachEvent.textContent = 'ps-y-reach-end';
  93. });
  94. container.addEventListener('ps-x-reach-start', function () {
  95. reachEvent.textContent = 'ps-x-reach-start';
  96. });
  97. container.addEventListener('ps-x-reach-end', function () {
  98. reachEvent.textContent = 'ps-x-reach-end';
  99. });
  100. </script>
  101. </body>
  102. </html>