diff options
author | jzaefferer <joern.zaefferer@gmail.com> | 2010-07-14 19:39:29 +0200 |
---|---|---|
committer | jzaefferer <joern.zaefferer@gmail.com> | 2010-07-14 19:39:50 +0200 |
commit | a3ab2b223b8d7494bf860396975868644b3e89cb (patch) | |
tree | 6683f7d450ad2f1edecbb28abd26aa50301bcac4 /demos/accordion | |
parent | 66659a12400b45dc490a8089e30a3ad9d2b72a02 (diff) | |
download | jquery-ui-a3ab2b223b8d7494bf860396975868644b3e89cb.tar.gz jquery-ui-a3ab2b223b8d7494bf860396975868644b3e89cb.zip |
Add support for multiple events, along with hoverintent demo. Fixes #3614 - Accordion: support multiple events being set at the same time
Diffstat (limited to 'demos/accordion')
-rw-r--r-- | demos/accordion/hoverintent.html | 133 | ||||
-rw-r--r-- | demos/accordion/index.html | 1 |
2 files changed, 134 insertions, 0 deletions
diff --git a/demos/accordion/hoverintent.html b/demos/accordion/hoverintent.html new file mode 100644 index 000000000..e0f2d742f --- /dev/null +++ b/demos/accordion/hoverintent.html @@ -0,0 +1,133 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8" /> + <title>jQuery UI Accordion - Default functionality</title> + <link type="text/css" href="../../themes/base/jquery.ui.all.css" rel="stylesheet" /> + <script type="text/javascript" src="../../jquery-1.4.2.js"></script> + <script type="text/javascript" src="../../ui/jquery.ui.core.js"></script> + <script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script> + <script type="text/javascript" src="../../ui/jquery.ui.accordion.js"></script> + <link type="text/css" href="../demos.css" rel="stylesheet" /> + <script type="text/javascript"> + + var cfg = ($.hoverintent = { + sensitivity: 7, + interval: 100 + }); + + $.event.special.hoverintent = { + setup: function() { + $(this).bind("mouseover", jQuery.event.special.hoverintent.handler); + }, + teardown: function() { + $(this).unbind("mouseover", jQuery.event.special.hoverintent.handler); + }, + handler: function(event) { + event.type = "hoverintent"; + var self = this, + args = arguments, + target = $(event.target), + cX, cY, pX, pY; + + function track(event) { + cX = event.pageX; + cY = event.pageY; + }; + pX = event.pageX; + pY = event.pageY; + function clear() { + target.unbind("mousemove", track).unbind("mouseout", arguments.callee); + clearTimeout(timeout); + } + function handler() { + if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) { + clear(); + jQuery.event.handle.apply(self, args); + } else { + pX = cX; pY = cY; + timeout = setTimeout(handler, cfg.interval); + } + } + var timeout = setTimeout(handler, cfg.interval); + target.mousemove(track).mouseout(clear); + return true; + } + }; + + + $(function() { + $("#accordion").accordion({ + event: "click hoverintent" + }); + }); + </script> +</head> +<body> + +<div class="demo"> + +<div id="accordion"> + <h3><a href="#">Section 1</a></h3> + <div> + <p> + Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer + ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit + amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut + odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate. + </p> + </div> + <h3><a href="#">Section 2</a></h3> + <div> + <p> + Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet + purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor + velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In + suscipit faucibus urna. + </p> + </div> + <h3><a href="#">Section 3</a></h3> + <div> + <p> + Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. + Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero + ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis + lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. + </p> + <ul> + <li>List item one</li> + <li>List item two</li> + <li>List item three</li> + </ul> + </div> + <h3><a href="#">Section 4</a></h3> + <div> + <p> + Cras dictum. Pellentesque habitant morbi tristique senectus et netus + et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in + faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia + mauris vel est. + </p> + <p> + Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus. + Class aptent taciti sociosqu ad litora torquent per conubia nostra, per + inceptos himenaeos. + </p> + </div> +</div> + +</div><!-- End demo --> + +<div class="demo-description"> +<p> +Click headers to expand/collapse content that is broken into logical sections, much like tabs. +Optionally, toggle sections open/closed on mouseover. +</p> +<p> +The underlying HTML markup is a series of headers (H3 tags) and content divs so the content is +usable without JavaScript. +</p> +</div><!-- End demo-description --> + +</body> +</html> diff --git a/demos/accordion/index.html b/demos/accordion/index.html index de3751128..70f0d9dee 100644 --- a/demos/accordion/index.html +++ b/demos/accordion/index.html @@ -14,6 +14,7 @@ <li><a href="no-auto-height.html">No auto height</a></li> <li><a href="collapsible.html">Collapse content</a></li> <li><a href="mouseover.html">Open on mouseover</a></li> + <li><a href="hoverintent.html">Open on hoverintent</a></li> <li><a href="custom-icons.html">Customize icons</a></li> <li><a href="sortable.html">Sortable</a></li> </ul> |