Creating a Flexible Tumult Hype Document within a DIV with no set 'height'

Hello,

First off thank you for such a wonderful script.

Secondly, for some reason on my files, this gap removal removes the gap from my mobile versions of my pages but yet adds a gap to my desktop pages (in Chrome, Safari, Opera, Firefox). Can someone please help?

I have checked my Tumult files and ensured I don't have any objects running off the edge or extended scene layouts and ensured that objects are hidden. When I remove the code you've provided above, my desktop pages work fine, but then my mobile sites have a gap. I've tried looking at the code to fix it but I'm not advanced enough to figure this out.

Here is my site: www.elevatebtt.com

The Branding page is very obvious. Feel free to scale between desktop and mobile window sizes to see what I mean.

please take the unminified code from @MaxZieb's last post above and add a

console.log(newHeight)
right before
hypeDocument.relayoutIfNecessary();

if the logged height is the expected height, but the output in the browser is not ... it might then be a timing-issue ... means Hype overwrites the height set by the script ...

feel free to attach the hypefile for further investigations ...

Thanks for the new info. Unfortunately it doesn't work.

Attached is my Hype document for further investigation.

https://drive.google.com/drive/folders/1CuGPawuXmV1VwHyLP6VAK6-e_rPtf1Bx?usp=sharing

the download is not open ...

Link should be open now.

someQuirkyFix.hype.zip (2.9 MB)

//////////////
the document is quite heavy and i guess that this is the reason for the false behavior. if the above fix works: i feel like @jonathan should have a look at it ... ¿!

Thank you very much for having a look at this. Unfortunately it still seems that it isn't working. Odd...

hm ... it does in my short tests.

perhaps you're expecting something wrong to happen¿

here a example of what the script should do:

  • the desktopscene has got an layoutdimenesion of 1240x900px

  • in the browser the the hypedocument changes to let's say 1000px regarding a browserresize

  • now the script changes the hypedocelements height to 725.806px ... that's all ...

if you open the developertools in safari or chrome and switch to elements you should see the height changing while resizing.

it does in my tests ...

perhaps somebody else could have a look @MaxZieb :wink:

I just realized that it may be a desktop resolution issue. The attached screenshot shows my problem. It works fine as long as the browser window width doesn't exceed 1830px. My desktop is 2560x1440 and when it is full width I get a scroll bar which allows me to scroll down into a black abyss. The wider the web browser window gets, the deeper the black gap gets as well.


then the problem is related to your setup and the script is doing its job :ghost:

Desktoplayoutsize: 1240*900

Layoutwidth in browser for example: 4000px leads to (4000/1240*900) a proportional height of 2903px ... that's it :slight_smile:

image

the script only sets a proportional height regarding a layoutratio ...

Where as you might want to set the height of the document to the height of your content on the scene
OR
simply wrap your hypedoc in another html-element that has a max-height <- in this case to max-heights applied by mediaquery to consider the two layouts

so you may rethink your setup ...

2 Likes

Ok thank you for having a look and clarifying!

I have set the height of the doc as the content in the scene, but it just keeps going.

I have also wrapped my entire site in a group that dynamically shifts with the moving size of the web browser. As you said, it keeps increasing the scaling of the height based on the web browsers width.

I'll see what I can do to fix my issue. If anyone happens to know how to code this, it would be greatly appreciated!

no ... it increases the hypedocumentheight in conjunction to the hypedocumentwidth based on the layoutratio

1 Like

Thank you for your help. I have posted a new topic here relating to my issue: Mobile Site - Bottom Gap Issue

Hi,
I tried and edited the hype document in the autoheight.zip but I can't get it to work properly. I would need the first scene (no autoheight) to transition to the next scene (with autoheight set) with a "push (bottom to top)" transition.
I still keep getting the empty space at the bottom. The autoheight kicks in only if I manually resize the browser window.
http://marb.cc/autoheight/

I also tried using two separate hype documents on the same page instead. However, that throws a js error and the page only shows one hype document.

any help would be appreciated. Thanks in advance guys.

I recreated your use case and it works for me. As I wanted to avoid code in Head HTML make sure that the "installAutoHeightIfNecessary" is called on the first scene. If you don't mind you can also just relocated the code to Head HTML.

My test:
autoHeight.hype.zip (38,8 KB)

Hey,
thanks for getting back to me so quickly.
Your file uses an instant transition. That works. However, in my case it needs to be Push (bottom to top). If I use that, then the scrollbars disappear and only re-appear if the window is resized.
Your file with a push transition: autoHeight.hype.zip (34.9 KB)

Here is a revised version. I didn't replace the above download with it as it needs to be tested, so feedback is welcome if these changes fixes it for your demands (I unchecked 100% height on auto height scenes for now with this revised approach).

autoHeight-revised.hype.zip (40,3 KB)

5 Likes

Yay. It works. Scrollbars remain visible now.
Huge Thanks Max!

1 Like

OMG I am such a noob. I properly implemented this script and it worked for my issue. I didn't realize I actually had to put the :arrow_up_down: symbol in my mobile version scene name on the left panel within "Device Layout". Wow, many hours that could have been saved. Thank you! My mobile site doesn't have the gap in it anymore :slight_smile: This script you posted above worked for me: Creating a Flexible Tumult Hype Document within a DIV with no set 'height'

I am finding that this updated version does work, however if I scroll with my finger on my iPhone on a page that's longer than my phones screen, it rubber bands and doesn't allow me to scroll to the bottom of the page. After waiting a moment after the 1st attempt to scroll downwards it works.

This is the same for back up to the top of the page as well. 1st swipe rubber bands, second swipe works after a moment.