aboutsummaryrefslogtreecommitdiffstats
path: root/demos/accordion
diff options
context:
space:
mode:
authorjzaefferer <joern.zaefferer@gmail.com>2010-07-14 19:39:29 +0200
committerjzaefferer <joern.zaefferer@gmail.com>2010-07-14 19:39:50 +0200
commita3ab2b223b8d7494bf860396975868644b3e89cb (patch)
tree6683f7d450ad2f1edecbb28abd26aa50301bcac4 /demos/accordion
parent66659a12400b45dc490a8089e30a3ad9d2b72a02 (diff)
downloadjquery-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.html133
-rw-r--r--demos/accordion/index.html1
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>