JqueryUI - Accordion Displays collapsible content panels for presenting information in a limited amount of space.


SUBMITTED BY: jlolk3r

DATE: Feb. 3, 2016, 2:29 a.m.

FORMAT: HTML

SIZE: 4.2 kB

HITS: 1659

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>jQuery UI Accordion - Open on hoverintent</title>
  6. <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  7. <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  8. <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  9. <link rel="stylesheet" href="/resources/demos/style.css">
  10. <script>
  11. $(function() {
  12. $( "#accordion" ).accordion({
  13. event: "click hoverintent"
  14. });
  15. });
  16. /*
  17. * hoverIntent | Copyright 2011 Brian Cherne
  18. * http://cherne.net/brian/resources/jquery.hoverIntent.html
  19. * modified by the jQuery UI team
  20. */
  21. $.event.special.hoverintent = {
  22. setup: function() {
  23. $( this ).bind( "mouseover", jQuery.event.special.hoverintent.handler );
  24. },
  25. teardown: function() {
  26. $( this ).unbind( "mouseover", jQuery.event.special.hoverintent.handler );
  27. },
  28. handler: function( event ) {
  29. var currentX, currentY, timeout,
  30. args = arguments,
  31. target = $( event.target ),
  32. previousX = event.pageX,
  33. previousY = event.pageY;
  34. function track( event ) {
  35. currentX = event.pageX;
  36. currentY = event.pageY;
  37. };
  38. function clear() {
  39. target
  40. .unbind( "mousemove", track )
  41. .unbind( "mouseout", clear );
  42. clearTimeout( timeout );
  43. }
  44. function handler() {
  45. var prop,
  46. orig = event;
  47. if ( ( Math.abs( previousX - currentX ) +
  48. Math.abs( previousY - currentY ) ) < 7 ) {
  49. clear();
  50. event = $.Event( "hoverintent" );
  51. for ( prop in orig ) {
  52. if ( !( prop in event ) ) {
  53. event[ prop ] = orig[ prop ];
  54. }
  55. }
  56. // Prevent accessing the original event since the new event
  57. // is fired asynchronously and the old event is no longer
  58. // usable (#6028)
  59. delete event.originalEvent;
  60. target.trigger( event );
  61. } else {
  62. previousX = currentX;
  63. previousY = currentY;
  64. timeout = setTimeout( handler, 100 );
  65. }
  66. }
  67. timeout = setTimeout( handler, 100 );
  68. target.bind({
  69. mousemove: track,
  70. mouseout: clear
  71. });
  72. }
  73. };
  74. </script>
  75. </head>
  76. <body>
  77. <div id="accordion">
  78. <h3>Section 1</h3>
  79. <div>
  80. <p>
  81. Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer
  82. ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit
  83. amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut
  84. odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.
  85. </p>
  86. </div>
  87. <h3>Section 2</h3>
  88. <div>
  89. <p>
  90. Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet
  91. purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor
  92. velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In
  93. suscipit faucibus urna.
  94. </p>
  95. </div>
  96. <h3>Section 3</h3>
  97. <div>
  98. <p>
  99. Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis.
  100. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero
  101. ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis
  102. lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui.
  103. </p>
  104. <ul>
  105. <li>List item one</li>
  106. <li>List item two</li>
  107. <li>List item three</li>
  108. </ul>
  109. </div>
  110. <h3>Section 4</h3>
  111. <div>
  112. <p>
  113. Cras dictum. Pellentesque habitant morbi tristique senectus et netus
  114. et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in
  115. faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia
  116. mauris vel est.
  117. </p>
  118. <p>
  119. Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus.
  120. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per
  121. inceptos himenaeos.
  122. </p>
  123. </div>
  124. </div>
  125. </body>
  126. </html>

comments powered by Disqus