一个轻量级、灵活、多用途的jQuery内容显示(show/hide/toggle)插件,允许您轻松管理任何HTML元素的显示可见性。
可用于剧透、选项卡、工具提示、弹出窗口、下拉菜单、超级菜单等。
1.在jquery之后加载jquery.autohide.js脚本即可开始。
<script src="/path/to/cdn/jquery.min.js"></script> <script src="/path/to/js/jquery.autohide.js"></script>
2.启用触发器元素来切换弹出窗口。
<span id="example"> Click Me <div class="popover-content" id="popover"> <p>Your Content Here</p> </div> </span>
/* example CSS */ .popover-content { display: none; position: absolute; width: 300px; padding: 1em; background-color: #fff; border: 1px solid #666; z-index: 9; }
$('#example').autohide_timeout({ $target: $('#popover-content') });
3.使用插件从嵌套列表中创建下拉菜单。
<ul id="example"> <li class="has-children"> <a href="#">Menu 1</a> <ul class="is-children"> <li><a href="#">Menu 1.1</a></li> <li><a href="#">Menu 1.2</a></li> <li><a href="#">Menu 1.3</a></li> </ul> </li> <li class="has-children"> <a href="#">Menu 2</a> <ul class="is-children"> <li><a href="#">Menu 2.1</a></li> <li><a href="#">Menu 2.2</a></li> <li><a href="#">Menu 2.3</a></li> </ul> </li> <li> <a href="#">Menu 3</a> </li> </ul>
/* example CSS */ ul#example { padding: 0; } ul#example > li { position: relative; float: left; margin-right: 20px; } ul#example > li > ul { display: none; width: 160px; position: absolute; padding: 20px; background-color: pink; z-index: 3; } ul#example > li > ul.submenu-opened { display: block; }
var $dropMenu = $('#example'); $dropMenu.autohide_timeout({ $source: function( $el ) { return $el.find('> li > a'); }, $target: function( $source ) { return $source.next('ul.is-children'); }, onEvents: function( $source, $target, event ) { $dropMenu.find('.submenu-opened').removeClass('submenu-opened'); $target.addClass('submenu-opened'); }, onTimeout: function( $source, $target, event ) { $dropMenu.find('.submenu-opened').removeClass('submenu-opened'); } });
4.自定义触发事件。默认值:“点击”。
$('#example').autohide_timeout({ events: 'click mouseenter', });
5.设置隐藏元素之前的等待时间。默认值:1500。
$('#example').autohide_timeout({ timeout: 2000, });