diff options
author | pete <pete@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2009-01-23 13:39:38 +0000 |
---|---|---|
committer | pete <pete@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2009-01-23 13:39:38 +0000 |
commit | e4fab2b9f5320d064f68ac16f6103f2ed11c0b86 (patch) | |
tree | aaae06e48a7fdad523f76d62ed3efa46274d1342 /views/default/js/initialise_elgg.php | |
parent | 1c41df46a1d678b2d1ef2bdc0c71a5d5288055b2 (diff) | |
download | elgg-e4fab2b9f5320d064f68ac16f6103f2ed11c0b86.tar.gz elgg-e4fab2b9f5320d064f68ac16f6103f2ed11c0b86.tar.bz2 |
new cross-browser js toolbar menu
git-svn-id: https://code.elgg.org/elgg/trunk@2606 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'views/default/js/initialise_elgg.php')
-rw-r--r-- | views/default/js/initialise_elgg.php | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/views/default/js/initialise_elgg.php b/views/default/js/initialise_elgg.php index 38f25673e..390b9cf94 100644 --- a/views/default/js/initialise_elgg.php +++ b/views/default/js/initialise_elgg.php @@ -209,3 +209,78 @@ jQuery.cookie = function(name, value, options) { return cookieValue;
}
};
+
+// ELGG TOOLBAR MENU
+$.fn.elgg_topbardropdownmenu = function(options) {
+
+ options = $.extend({speed: 350}, options || {});
+
+ this.each(function() {
+
+ var root = this, zIndex = 5000;
+
+ function getSubnav(ele) {
+ if (ele.nodeName.toLowerCase() == 'li') {
+ var subnav = $('> ul', ele);
+ return subnav.length ? subnav[0] : null;
+ } else {
+
+ return ele;
+ }
+ }
+
+ function getActuator(ele) {
+ if (ele.nodeName.toLowerCase() == 'ul') {
+ return $(ele).parents('li')[0];
+ } else {
+ return ele;
+ }
+ }
+
+ function hide() {
+ var subnav = getSubnav(this);
+ if (!subnav) return;
+ $.data(subnav, 'cancelHide', false);
+ setTimeout(function() {
+ if (!$.data(subnav, 'cancelHide')) {
+ $(subnav).slideUp(options.speed);
+ }
+ }, 200);
+ }
+
+ function show() {
+ var subnav = getSubnav(this);
+ if (!subnav) return;
+ $.data(subnav, 'cancelHide', true);
+ $(subnav).css({zIndex: zIndex++}).slideDown(options.speed);
+ if (this.nodeName.toLowerCase() == 'ul') {
+ var li = getActuator(this);
+ $(li).addClass('hover');
+ $('> a', li).addClass('hover');
+ }
+ }
+
+ $('ul, li', this).hover(show, hide);
+ $('li', this).hover(
+ function() { $(this).addClass('hover'); $('> a', this).addClass('hover'); },
+ function() { $(this).removeClass('hover'); $('> a', this).removeClass('hover'); }
+ );
+
+ });
+
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|