From 4d8036134b850649329b4950ba8782de119c2a29 Mon Sep 17 00:00:00 2001 From: Johannes Raggam Date: Tue, 19 May 2020 11:31:57 +0200 Subject: [PATCH] hotfix: pat-scroll: Implement `selector:top` value. Hotfix for #721, PR: #722 pat-scroll: Implement new special `selector:top` attribute value to scroll the scroll container just to the top of the page. Ref: #721 Fixes: #721 --- src/pat/scroll/scroll.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/pat/scroll/scroll.js b/src/pat/scroll/scroll.js index 1e2637ee9..3735d0a98 100644 --- a/src/pat/scroll/scroll.js +++ b/src/pat/scroll/scroll.js @@ -121,11 +121,12 @@ define([ }, findScrollContainer: function(el) { + var direction = this.options.direction; var scrollable = $(el).parents().filter(function() { return ( ['auto', 'scroll'].indexOf($(this).css('overflow')) > -1 || - (scroll === 'scrollTop' && ['auto', 'scroll'].indexOf($(this).css('overflow-y')) > -1) || - (scroll === 'scrollLeft' && ['auto', 'scroll'].indexOf($(this).css('overflow-x')) > -1) + (direction === 'top' && ['auto', 'scroll'].indexOf($(this).css('overflow-y')) > -1) || + (direction === 'left' && ['auto', 'scroll'].indexOf($(this).css('overflow-x')) > -1) ); }).first(); if ( typeof scrollable[0] === 'undefined' ) { @@ -144,7 +145,7 @@ define([ options[scroll] = this.options.offset; } else if (this.options.selector === "top") { // Just scroll up, period. - scrollable = this.findScrollContainer(target); + scrollable = this.findScrollContainer(this.$el); options['scrollTop'] = 0; } else { // Get the first element with overflow (the scroll container)