]> git.ipfire.org Git - thirdparty/foundation/foundation-sites.git/commitdiff
fixes #7455 by "closing" an open offcanvas on resize if reveal-for breakpoint is...
authorChris Oyler <chris@zurb.com>
Wed, 23 Dec 2015 18:55:34 +0000 (10:55 -0800)
committerChris Oyler <chris@zurb.com>
Wed, 23 Dec 2015 18:55:34 +0000 (10:55 -0800)
js/foundation.offcanvas.js

index 8c06ca17c1c9aea8027f4b1d52048a076ae57a78..05846f8446ff872d76e85fd27c741479ef867518 100644 (file)
@@ -172,6 +172,8 @@ OffCanvas.prototype._setMQChecker = function(){
 OffCanvas.prototype.reveal = function(isRevealed){
   var $closer = this.$element.find('[data-close]');
   if(isRevealed){
+    this.close();
+    this.isRevealed = true;
     // if(!this.options.forceTop){
     //   var scrollPos = parseInt(window.pageYOffset);
     //   this.$element[0].style.transform = 'translate(0,' + scrollPos + 'px)';
@@ -180,6 +182,7 @@ OffCanvas.prototype.reveal = function(isRevealed){
     this.$element.off('open.zf.trigger toggle.zf.trigger');
     if($closer.length){ $closer.hide(); }
   }else{
+    this.isRevealed = false;
     // if(this.options.isSticky || !this.options.forceTop){
     //   this.$element[0].style.transform = '';
     //   $(window).off('scroll.zf.offcanvas');
@@ -202,7 +205,7 @@ OffCanvas.prototype.reveal = function(isRevealed){
  * @fires OffCanvas#opened
  */
 OffCanvas.prototype.open = function(event, trigger) {
-  if (this.$element.hasClass('is-open')){ return; }
+  if (this.$element.hasClass('is-open') || this.isRevealed){ return; }
   var _this = this,
       $body = $(document.body);
   $('body').scrollTop(0);
@@ -294,7 +297,7 @@ OffCanvas.prototype._trapFocus = function(){
  * @fires OffCanvas#closed
  */
 OffCanvas.prototype.close = function(cb) {
-  if(!this.$element.hasClass('is-open')){ return; }
+  if(!this.$element.hasClass('is-open') || this.isRevealed){ return; }
 
   var _this = this;