Gatsby anchor link / scrollTo hiding the page above the displayed element - scroll

I am using Gatsby for the first time and I have started with the Cara starter template.
I have added a link to the hero that would scroll to the next sections (projects) when clicked.
The link does take you to the next section, however the scroll bar remains scrolled all the way to the top of the bar. Meaning that you cannot scroll back up the page. (Strangely now when you scroll to the bottom of the page, the footer is not aligned with the bottom of the page, but you can now scroll all the way back to the top of the page again.)
I tried using various techniques; a standard anchor tag referencing an id, using gatsby-plugin-smoothscroll to scrollTo() the element, and all have this same end result.
I'm not sure what is causing this behaviour, but maybe it is something to do with the layout or some conflicting scrolling or offsetting. I would appreciate any help to get me back on track.
I have hosted what I have done so far, so that you can see the issue I am having:
https://portfoliositemain36740.gatsbyjs.io/

Related

Fullpage.js - Anchor point on mobile not going back to top of the section when scrolled through

I have this website -> https://life-5.webflow.io/ used with Fullpage.js.
If you open the website on mobile and try to tap one of the links in menu, everything goes fine.
For example "Výhody" are made from 5 tabs.. If you tap the link on top of the page you goes to 1st one, but if you scroll through the section and taps the "Výhody" once again, you get scrolled only to 5th tap and not to the top.
Any help how to fix this and makes the link always goes to the top of the section?
Thanks a lot for any help!
Check out the bigSectionsDestination option.
From the the fullpage.js documentation
bigSectionsDestination: (default null) Defines how to scroll to a section which size is bigger than the viewport. By default fullPage.js scrolls to the top if you come from a section above the destination one and to the bottom if you come from a section below the destination one. Possible values are top, bottom, null.

NativeScript last element in scrollview partially hidden by Bottom Navigation

I am using tabbed navigation for my nativescript app. I have a playground sample here https://play.nativescript.org/?template=play-ng&id=WKlZDF&v=6
On the second tab, I have a list of tasks that is longer than most screens can display so it is wrapped in a <ScrollView>. The scrolling works as expected except when you get to the bottom. The final element is partially hidden by the <BottomNavigation>. If you drag up on the screen you can see the rest of the element but the second you release the screen it slides back down behind the <BottomNavigation>.
You can see what I am talking about in the playground or in the screenshot below. Does anyone know how to correct this? I thought about just adding a bunch of padding at the bottom but that seems super hackey.

iOS 8 Safari - Can't scroll element's content when page is zoomed

This issue happens only in iOS 8 (8.1 to be exact). It does not reproduce in iOS 7.
The use-case: Scrolling inside an element with scrollable (long) content.
If the page is not zoomed-in - it works as expected.
When you zoom-in the page - it stops working, the page is scrolled instead (as if you reached the end of the scrollable content). The effect is continuous: the higher the zoom - it's less possible to scroll the content.
Test page: here
Open the link in your iOS 8 Safari - see that the list element is scrollable.
Now zoom-in the page and try to scroll the content of the list - the page is scrolled instead of the items inside the list.
I've placed the red markers so it will be easy to see that the page is scrolled.
I've tried different CSS rules and even JS to prevent the page from scrolling (that still does make the content of the element scroll).
Has anyone encountered this behaviour or has a suggestion how to fix it? I really don't want to implement content scrolling with JS.
Disabling the zoom on the page (with meta viewport) is not an option for me.

dojo Show/Hide One ContentPane While Another ContentPane Is Liquid

I've been struggling for weeks trying to crack this nut so I'm not sure if it's impossible, or if it's my lack of coding chops... or both. I'm not a programmer and I'm a newbie to Dojo Toolkit.
I have a site using the BorderContainer layout. I'm trying to create an effect where I can use a button to open and close a dropdown type box that will contain controls. I need this dropdown to be hidden on page load, and then open when you click the button.
My problem is that when I open the dropdown, it pushes the content pane below it off the bottom of the browser window. I need the lower ContentPane to stay fit within the remaining space of the browser window when the dropdown opens. Additionally, I want the dropdown to sit outside of the scrollable container for the content below it, which is why I have it set up to sit outside a nested BorderContainer below it.
I've created a simplified version of the code to demonstrate my challenge (see link below). If you load the page you can see the center ContentPane scrolls the content. But, if you then click on the button, a dropdown div expands above the content. Then when you scroll, you'll notice that you can't see the full pane because it's in no-man's-land below the bottom of the browser window. I assume that because the div is set to display:none on load, it's size is not accounted for on page load. Then, when you open it by pressing the button, it's size is additive and the pane below doesn't know how to resize or account for the new element.
I've tried using the visibility attribute, but that leaves a gap for the div when it's still closed. I've tinkered with some code that controls the height that shows promise, but each of my dropdown boxes will be different sizes so I'd prefer that the height be set to "auto" rather than a specified pixel size.
Does anyone have any idea how I can accomplish this so that the lower pane will fit in the space without pushing off the screen?
Here's a sample of the page:
http://equium.com/scaffold.html
(I had some problems trying to insert the full HTML page here as a code sample so if that's a preferable way to handle it, and someone can let me know the best way to embed all of that code, I'd appreciate it.)
Thanks is advance, I'd really apprecaite anyone's feedback.
You might want to take a look at dojox.layout.ExpandoPane (though be warned I think it has only worked properly for top and left regions for a while).
Also, I'd suggest simplifying/altering your layout a bit. See example here:
http://jsfiddle.net/taFzv/
(It'd probably need some tweaking to get exactly what you want.)
The real issue you're having is probably that the BorderContainer has no idea that parts of the view resized. ExpandoPane takes care of that by telling the BorderContainer to re-layout after its animation completes.
It works under IE8.0. When dropdown box open, just keep pressing mouse from page and drag to bottom, you could see the content was pushed to out of page. It looks the browser could not detect it and could not add it to "scroll bar" account.
I would suggest taking out all BorderContainers except your top level one, the one with mainPage as the id.
Place your {stuff here} div into the mainPage BorderContainer, after the ContentPane with the Close/Open button. Make sure you make it dojotype dijit.layout.ContentPane, set up layoutpriority, and set region to top. Set the height to 0/x when clicking the Open/Close button, instead of setting display.
Try your page again. If that doesn't fix it, you probably need, a call to layout, resize, or both to indicate to the BorderContainer that it needs to evaluate all its children and size the "center" pane properly. Something like dijit.byId("mainPage").layout(); Do this any time someone presses the Close/Open button, after you have changed the height of any BorderContainer children.
Maybe the dijit.form.DropDownButton would fit your needs. When click the button a tooltip is displayed that can be filled with any content you want. Just as you specified, the dropdown tooltip is only displayed when you click the button, and it doesn't mess with the underlying layout at all. The tooltip sits "on top" of the page.

Fancybox - Scrolling / page position

I am trying to automatically scroll to a anchor when opening a fancybox iframe like so: www.example.com/posts#header.
It kinda works but it scrolls to the wrong position, either too far up or way too far down (mostly way too far down).
I tried using the jQuery ScrollTo plugin but it also scrolls to the wrong position and additionally "pops out" the page from the fancybox to the whole window.
Would be thankful for any tips on how to get this working!

Resources