📄 rb_menu.js
字号:
/*
* simple sliding menu using jQuery and Interface - http://www.getintothis.com
*
* note: this library depends on jquery (http://www.jquery.com) and
* interface (http://interface.eyecon.ro)
*
* Copyright (c) 2006 Ramin Bozorgzadeh
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LECENSE.txt) linceses.
*/
$.fn.rb_menu = function(options) {
var $self = this;
$self.options = {
// transitions: http://gsgd.co.uk/sandbox/jquery/easing/
transition: 'easeOutBounce',
// trigger events: mouseover, mousedown, mouseup, click, dblclick
triggerEvent: 'mouseover',
// number of ms to delay before hiding menu (on page load)
loadHideDelay : 1000,
// number of ms to delay before hiding menu (on mouseout)
blurHideDelay: 500,
// number of ms for transition effect
effectDuration: 1000,
// hide the menu when the page loads
hideOnLoad: true,
// automatically hide menu when mouse leaves area
autoHide: true
}
// make sure to check if options are given!
if(options) {
$.extend($self.options, options);
}
return this.each(function() {
var $menu = $(this);
var $menuItems = $menu.find('.items');
var $toggle = $menu.find('.toggle');
// add 'hover' class to trigger for css styling
$toggle.hover(
function() {
$toggle.addClass('toggle-hover');
},
function() {
$toggle.removeClass('toggle-hover');
}
);
if($self.options.hideOnLoad) {
if($self.options.loadHideDelay <= 0) {
$menuItems.hide();
$menu.closed = true;
$menu.unbind();
} else {
// let's hide the menu when the page is loading
// after {loadHideDelay} milliseconds
setTimeout( function() {
$menu.hideMenu();
}, $self.options.loadHideDelay);
}
}
// bind event defined by {triggerEvent} to the trigger
// to open and close the menu
$toggle.bind($self.options.triggerEvent, function() {
// if the trigger event is click or dblclick, we want
// to close the menu if its open
if(($self.options.triggerEvent == 'click' || $self.options.triggerEvent == 'dblclick') && !$menu.closed) {
$menu.hideMenu();
} else {
$menu.showMenu();
}
});
$menu.hideMenu = function() {
if($menuItems.css('display') == 'block' && !$menu.closed) {
$menuItems.hide(
'slide',
{
direction: 'left',
easing: $self.options.transition
},
$self.options.effectDuration,
function() {
$menu.closed = true;
$menu.unbind();
}
);
}
}
$menu.showMenu = function() {
if($menuItems.css('display') == 'none' && $menu.closed) {
$menuItems.show(
'slide',
{
direction: 'left',
easing: $self.options.transition
},
$self.options.effectDuration,
function() {
$menu.closed = false;
if($self.options.autoHide) {
$menu.hover(
function(e) {
clearTimeout($menu.timeout);
},
function(e) {
$menu.timeout = setTimeout(function() {
$menu.hideMenu();
}, $self.options.blurHideDelay);
}
);
}
}
);
}
}
});
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -