index.html 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <title>Testing mousewheel plugin</title>
  5. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
  6. <script type="text/javascript" src="../jquery.mousewheel.js"></script>
  7. <style>
  8. #test1 {
  9. background-color: #000;
  10. width: 120px;
  11. height: 100px;
  12. color: #fff;
  13. float: left;
  14. }
  15. #test2 {
  16. background-color: #333;
  17. width: 120px;
  18. height: 100px;
  19. color: #fff;
  20. float: left;
  21. }
  22. #test3 {
  23. background-color: #666;
  24. width: 120px;
  25. height: 100px;
  26. color: #fff;
  27. float: left;
  28. }
  29. #test4 {
  30. background-color: #000;
  31. width: 120px;
  32. height: 100px;
  33. color: #fff;
  34. float: left;
  35. }
  36. #test5 {
  37. background-color: #333;
  38. padding: 5px;
  39. width: 400px;
  40. height: 400px;
  41. color: #fff;
  42. float: left;
  43. }
  44. #test6 {
  45. background-color: #666;
  46. padding: 5px;
  47. width: 250px;
  48. height: 250px;
  49. color: #fff;
  50. float: left;
  51. }
  52. #test7 {
  53. background-color: #000;
  54. padding: 5px;
  55. width: 100px;
  56. height: 100px;
  57. color: #fff;
  58. float: left;
  59. }
  60. #forceScroll {
  61. clear: both;
  62. height: 1000px;
  63. }
  64. #logger {
  65. position: absolute;
  66. top: 395px;
  67. left: 12px;
  68. width: 460px;
  69. height: 290px;
  70. overflow: auto;
  71. }
  72. #logger p {
  73. font-family: Arial, sans-serif;
  74. font-size: 13px;
  75. padding: 2px;
  76. border-bottom: 1px solid #ccc;
  77. margin: 0;
  78. }
  79. #logger p:nth-child(even) {
  80. background-color: #FFFFE8;
  81. }
  82. #logger p:nth-child(10n) {
  83. border-bottom-color: #000;
  84. }
  85. </style>
  86. <script type="text/javascript">
  87. $(function() {
  88. $('#userAgent').html(navigator.userAgent);
  89. $('#test1')
  90. .mousewheel(function(event, delta, deltaX, deltaY) {
  91. var o = '';
  92. if (delta > 0)
  93. o = '#test1: up ('+delta+')';
  94. else if (delta < 0)
  95. o = '#test1: down ('+delta+')';
  96. if (deltaX > 0)
  97. o = o + ', east ('+deltaX+')';
  98. else if (deltaX < 0)
  99. o = o + ', west ('+deltaX+')';
  100. if (deltaY > 0)
  101. o = o + ', north ('+deltaY+')';
  102. else if (deltaY < 0)
  103. o = o + ', south ('+deltaY+')';
  104. if( o != '' )
  105. log( o );
  106. log('pageX: ' + event.pageX + ' pageY: ' + event.pageY );
  107. });
  108. $('#test2')
  109. .mousewheel(function(event, delta, deltaX, deltaY) {
  110. var o = '';
  111. if (delta > 0)
  112. o = '#test2: up ('+delta+')';
  113. else if (delta < 0)
  114. o = '#test2: down ('+delta+')';
  115. if (deltaX > 0)
  116. o = o + ', east ('+deltaX+')';
  117. else if (deltaX < 0)
  118. o = o + ', west ('+deltaX+')';
  119. if (deltaY > 0)
  120. o = o + ', north ('+deltaY+')';
  121. else if (deltaY < 0)
  122. o = o + ', south ('+deltaY+')';
  123. if( o != '' )
  124. log( o );
  125. return false; // prevent default
  126. });
  127. $('#test3')
  128. .hover(function() { log('#test3: mouseover'); }, function() { log('#test3: mouseout'); })
  129. .mousewheel(function(event, delta, deltaX, deltaY) {
  130. log('#test3: I should not have been logged');
  131. })
  132. .unmousewheel();
  133. var testRemoval = function(event, delta, deltaX, deltaY) {
  134. log('#test4: I should not have been logged');
  135. };
  136. $('#test4')
  137. .mousewheel(function(event, delta, deltaX, deltaY) {
  138. var o = '';
  139. if (delta > 0)
  140. o = '#test4: up ('+delta+')';
  141. else if (delta < 0)
  142. o = '#test4: down ('+delta+')';
  143. if (deltaX > 0)
  144. o = o + ', east ('+deltaX+')';
  145. else if (deltaX < 0)
  146. o = o + ', west ('+deltaX+')';
  147. if (deltaY > 0)
  148. o = o + ', north ('+deltaY+')';
  149. else if (deltaY < 0)
  150. o = o + ', south ('+deltaY+')';
  151. if( o != '' )
  152. log( o );
  153. return false;
  154. })
  155. .mousewheel(testRemoval)
  156. .mousewheel(function(event, delta, deltaX, deltaY) {
  157. var o = '';
  158. if (delta > 0)
  159. o = '#test4: up ('+delta+')';
  160. else if (delta < 0)
  161. o = '#test4: down ('+delta+')';
  162. if (deltaX > 0)
  163. o = o + ', east ('+deltaX+')';
  164. else if (deltaX < 0)
  165. o = o + ', west ('+deltaX+')';
  166. if (deltaY > 0)
  167. o = o + ', north ('+deltaY+')';
  168. else if (deltaY < 0)
  169. o = o + ', south ('+deltaY+')';
  170. if( o != '' )
  171. log( o + ' from 2nd handler' );
  172. return false;
  173. })
  174. .unmousewheel(testRemoval);
  175. $('#test5')
  176. .mousewheel(function(event, delta, deltaX, deltaY) {
  177. var o = '';
  178. if (delta > 0)
  179. o = '#test5: up ('+delta+')';
  180. else if (delta < 0)
  181. o = '#test5: down ('+delta+')';
  182. if (deltaX > 0)
  183. o = o + ', east ('+deltaX+')';
  184. else if (deltaX < 0)
  185. o = o + ', west ('+deltaX+')';
  186. if (deltaY > 0)
  187. o = o + ', north ('+deltaY+')';
  188. else if (deltaY < 0)
  189. o = o + ', south ('+deltaY+')';
  190. if( o != '' )
  191. log( o );
  192. event.stopPropagation();
  193. event.preventDefault();
  194. });
  195. $('#test6')
  196. .mousewheel(function(event, delta, deltaX, deltaY) {
  197. var o = '';
  198. if (delta > 0)
  199. o = '#test6: up ('+delta+')';
  200. else if (delta < 0)
  201. o = '#test6: down ('+delta+')';
  202. if (deltaX > 0)
  203. o = o + ', east ('+deltaX+')';
  204. else if (deltaX < 0)
  205. o = o + ', west ('+deltaX+')';
  206. if (deltaY > 0)
  207. o = o + ', north ('+deltaY+')';
  208. else if (deltaY < 0)
  209. o = o + ', south ('+deltaY+')';
  210. if( o != '' )
  211. log( o );
  212. event.stopPropagation();
  213. event.preventDefault();
  214. });
  215. $('#test7')
  216. .mousewheel(function(event, delta, deltaX, deltaY) {
  217. var o = '';
  218. if (delta > 0)
  219. o = '#test7: up ('+delta+')';
  220. else if (delta < 0)
  221. o = '#test7: down ('+delta+')';
  222. if (deltaX > 0)
  223. o = o + ', east ('+deltaX+')';
  224. else if (deltaX < 0)
  225. o = o + ', west ('+deltaX+')';
  226. if (deltaY > 0)
  227. o = o + ', north ('+deltaY+')';
  228. else if (deltaY < 0)
  229. o = o + ', south ('+deltaY+')';
  230. if( o != '' )
  231. log( o );
  232. event.preventDefault();
  233. });
  234. function log(msg) {
  235. $('#logger').append('<p>'+msg+'</p>').scrollTop(999999);
  236. };
  237. });
  238. </script>
  239. </head>
  240. <body>
  241. <h1 id="banner">jQuery mousewheel.js - Test</h1>
  242. <h2 id="userAgent"></h2>
  243. <ul>
  244. <li><strong>Test1</strong> is just using the plain on mousewheel() with a function passed in and does not prevent default. (Also logs the value of pageX and pageY event properties.)</li>
  245. <li><strong>Test2</strong> should prevent the default action.</li>
  246. <li><strong>Test3</strong> should only log a mouseover and mouseout event. Testing unmousewheel().</li>
  247. <li><strong>Test4</strong> has two handlers.</li>
  248. <li><strong>Test5</strong> is like Test2 but has children. The children should not scroll until mousing over them.</li>
  249. <li><strong>Test6</strong> is like Test5 but should not scroll children or parents.</li>
  250. <li><strong>Test7</strong> is like Test6 but has no children. It will propagate the event and scroll test 6 as well.</li>
  251. </ul>
  252. <div id="test1"><p>Test1</p></div>
  253. <div id="test2"><p>Test2</p></div>
  254. <div id="test3"><p>Test3</p></div>
  255. <div id="test4"><p>Test4</p></div>
  256. <div id="test5">
  257. <p>Test5</p>
  258. <div id="test6">
  259. <p>Test6</p>
  260. <div id="test7"><p>Test7</p></div>
  261. </div>
  262. </div>
  263. <div id="logger"></div>
  264. <div id="forceScroll"></div>
  265. </body>
  266. </html>