Mercurial > hg > MPIWGThesaurus
diff jquery-ui/development-bundle/demos/accordion/hoverintent.html @ 0:b2e4605f20b2
beta version
author | dwinter |
---|---|
date | Thu, 30 Jun 2011 09:07:49 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jquery-ui/development-bundle/demos/accordion/hoverintent.html Thu Jun 30 09:07:49 2011 +0200 @@ -0,0 +1,134 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Accordion - Open on hoverintent</title> + <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css"> + <script src="../../jquery-1.5.1.js"></script> + <script src="../../ui/jquery.ui.core.js"></script> + <script src="../../ui/jquery.ui.widget.js"></script> + <script src="../../ui/jquery.ui.accordion.js"></script> + <link rel="stylesheet" href="../demos.css"> + <script> + $(function() { + $("#accordion").accordion({ + event: "click hoverintent" + }); + }); + + 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; + } + }; + </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>