diff --git a/css/jPushMenu.css b/css/jPushMenu.css index 79ae624..25ccb5b 100644 --- a/css/jPushMenu.css +++ b/css/jPushMenu.css @@ -104,6 +104,7 @@ overflow-x: hidden; position: relative; left: 0; + top: 0; } .push-body-toright { diff --git a/index.html b/index.html index 2afcb96..eea8d26 100644 --- a/index.html +++ b/index.html @@ -96,6 +96,8 @@

jPushMenu Demo

+ +

Changelog

@@ -133,6 +135,8 @@

Make button or link

+ + diff --git a/js/jPushMenu.js b/js/jPushMenu.js index ea1df7b..8fe782a 100644 --- a/js/jPushMenu.js +++ b/js/jPushMenu.js @@ -1,6 +1,6 @@ /*! * jPushMenu.js - * 1.1.1 + * 1.2.1 * @author: takien * http://takien.com * Original version (pure JS) is created by Mary Lou http://tympanus.net/ @@ -32,6 +32,7 @@ } else if ($(this).is('.' + o.showTopClass)) { target = '.cbp-spmenu-top'; + push_direction = 'tobottom'; } else if ($(this).is('.' + o.showBottomClass)) { target = '.cbp-spmenu-bottom'; @@ -44,6 +45,9 @@ $(this).toggleClass(o.activeClass); $(target).toggleClass(o.menuOpenClass); + // Add the same height to the animation of push-menu to bottom + $(o.pushBodyClass + '-' + push_direction).css('top', $(target).height()); + if ($(this).is('.' + o.pushBodyClass) && push_direction != '') { $('body').toggleClass(o.pushBodyClass + '-' + push_direction); } @@ -57,10 +61,22 @@ var jPushMenu = { close: function (o) { $('.jPushMenuBtn,body,.cbp-spmenu') - .removeClass('disabled ' + o.activeClass + ' ' + o.menuOpenClass + ' ' + o.pushBodyClass + '-toleft ' + o.pushBodyClass + '-toright'); + .removeClass('disabled ' + o.activeClass + ' ' + o.menuOpenClass + ' ' + o.pushBodyClass + '-toleft ' + o.pushBodyClass + '-toright ' + o.pushBodyClass + '-tobottom'); } } + // Don't close menu on clicking inside it + $('.cbp-spmenu').click(function(e) { + e.stopImmediatePropagation(); + }); + + // Closes when page scrolls + if (o.closeOnClickOutside) { + $(document).scroll(function() { + jPushMenu.close(o); + }); + } + // Close menu on clicking outside menu if (o.closeOnClickOutside) { $(document).click(function() { @@ -76,7 +92,7 @@ } }; - /* + /* * In case you want to customize class name, * do not directly edit here, use function parameter when call jPushMenu. */