-
AuthorPosts
-
September 20, 2016 at 10:57 am #689059
Hey guys,
I wonder if there´s a way to create a fixed “curtain” -like footer like at this demosite (not Enfold I know)
When you scroll down to the footer you can see that the main content opens the footer like lifting a curtain. The footer is hidden behind the main content until you scroll to it.
Is that possible with Enfold?
Cheers
MichaelSeptember 22, 2016 at 6:40 am #690080Hi Michael!
Thank you for using Enfold.
Yes, this is possible. Add this in the Quick CSS field:
@media only screen and (min-width: 768px) { .container_wrap { z-index: 5; } #footer { position: fixed; bottom: 58px; left: 0; width: 100%; z-index: 0; } #socket { position: fixed; bottom: 0; left: 0; width: 100%; z-index: 1; } #footer-socket-spacer { position: relative; width: 100%; } .avia-section .main_color, .avia-section .alternate_color, .av-layout-grid-container { z-index: 1000; position: relative; } #header { z-index: 1001; } }
And the following code in the functions.php file:
add_action('wp_footer', 'ava_custom_script'); function ava_custom_script(){ ?> <script type="text/javascript"> (function($) { function gh() { var socket = $('#socket'), footer = $('#footer'), spacerh = socket.height() + footer.height(), spacer = '<div id="footer-socket-spacer"></div>'; $(spacer).insertBefore(footer).height(spacerh); } gh(); })(jQuery); </script> <?php }
Make sure that the content containers have backgrounds. This modification is not perfect so you will have to make a few adjustments.
Regards,
IsmaelSeptember 22, 2016 at 9:37 am #690175Hi Ismael,
thanks for the response but it doesn´t work. Check out https://dev.der-prinz.com/enfold/ where I have added what you suggested. It fixes the footer and socket to the bottom but the content before the footer doesn´t cover the footer but it scrolls below the footer.
Any other suggestions?
Cheers
MichaelSeptember 24, 2016 at 6:07 am #691080Hi!
We updated the css code above. Please try it again.
Make sure that the content containers have backgrounds. This modification is not perfect so you will have to make a few adjustments.
Cheers!
IsmaelSeptember 24, 2016 at 9:50 am #691118but there has to be in the function an option for window resize – because footer height changes with content. On small screens we got a growing footer height (with socket too- but not so often)
It has to proof in time (dynamically) the height of socket and footer – how can we do that?
The code above works if we actualize the window but does not react on window-resize- This reply was modified 8 years, 1 month ago by Guenni007.
September 24, 2016 at 12:29 pm #691135still testing – but im on a good way i think
hm – i don’t know if every section or grid etc got this class (container_wrap) if so we can do that:
add_action('wp_footer', 'ava_custom_script'); function ava_custom_script(){ ?> <script type="text/javascript"> (function($) { $(window).load(function() { var socket = $('#socket'), footer = $('#footer'), spacerh = socket.height() + footer.height(); $('#main .container_wrap:nth-last-child(3)').css('padding-bottom', spacerh ); }); $(window).resize(function() { var socket = $('#socket'), footer = $('#footer'), spacerh = socket.height() + footer.height(); $('#main .container_wrap:nth-last-child(3)').css('padding-bottom', spacerh ); }); })(jQuery); </script> <?php }
and in quick css :
#footer { position: fixed; left: 0; width: 100%; z-index: 1; bottom: 58px } #socket { position: fixed; bottom: 0; left: 0; width: 100%; z-index: 1; } #footer-socket-spacer { clear: both; position: relative; width: 100%; }
- This reply was modified 8 years, 1 month ago by Guenni007.
September 24, 2016 at 5:19 pm #691194and perhaps we should take instead of
.height( ) the .outerHeight( )
see Result here: Link
btw: the footer background-color is a gradient – just a test – nothing i will realy work with.
And diagonal backgrounds are just to see what happens realy ( landing page )- This reply was modified 8 years, 1 month ago by Guenni007.
September 24, 2016 at 7:08 pm #691214But – I think this is only a nice feature for screens with more than 768px – so pack it into a media querry
not enough place for content with a fixed footer. Maybe set the footer to display: noneSeptember 25, 2016 at 3:27 pm #691332ok i see it works good but this is not the thing which you are looking for.
the footer and socket should be on bottom at the end of the scroll.September 25, 2016 at 6:02 pm #691340Hey!
Thanks a lot for the real hard work on that query Guenni.
Please do let us know if that works for you.
Regards,
BasilisSeptember 25, 2016 at 7:11 pm #691356i’m not shure if this is what you try to get:
http://webers-testseite.de/elegant/
i don’t like the way it removes on scrolling back it would be nice to have here a animation of footer gone.
September 26, 2016 at 5:35 am #691457Hi!
@Guenni007: You’re right about the resize function. The footer and socket should be positioned fixed at the bottom of the viewport but it has to be covered by the main content container and should only be visible at the very bottom of the page. This is what the OP is trying to replicate. http://demos.artbees.net/jupiter5/hera/Cheers!
IsmaelSeptember 26, 2016 at 12:00 pm #691566ohha – this is what i got ( i set the footer to a given height – because otherwise the effect is not so clear)
if you like it – i will share it – but without a child-theme footer.php it does not work. The thing is to get the socket out of main – not so hard to make but that makes things a lot easier.
http://webers-testseite.de/huth/September 26, 2016 at 12:04 pm #691572Hey Guenni007,
this looks very close to what I want. Except I want the socket and the footer to work like the socket does in your example.
By the way I also like the effect with the “overlapinng” logo.
Cheers
MichaelSeptember 26, 2016 at 12:59 pm #691586Lass uns mal gerade deutsch hier miteinander reden.
In dem Beispiel oben (nicht Enfold) ist es aber wohl schon so wie jetzt bei mir im Beispiel.
Wie gesagt die Sache wird einfacher, wenn man die footer.php dahingehend bearbeitet, dass die interessierenden Container ( in deinem Fall nun beide) nicht mehr in Main liegen. Die bearbeitete footer.php landet dann halt in child-theme folder.
Das ist der momentane Code (wobei ich wirklich kein Profi bin, was die php und jquery Sachen betrifft – ich denke da ließe sich einiges abändern):
add_action('wp_footer', 'ava_custom_script'); function ava_custom_script(){ ?> <script type="text/javascript"> (function($) { $(document).ready(function(){ $(document).scroll(function(){ var socketh = $('#socket').outerHeight(), footerh = $('#footer').outerHeight(), spacerh = $('#socket').outerHeight() + $('#footer').outerHeight(); if( $(window).scrollTop() >= $(document).height() - $(window).height() - socketh ) { $('#socket').css('position', 'fixed' ); $('#main').css('padding-bottom', socketh ); } else { $('#socket').css('position', 'relative' ); $('#main').css('padding-bottom', 0 ); } }); }); })(jQuery); </script> <?php }
weiß nicht ob ich die document ready funktion wirklich brauche. Die scroll funktion gibt mir zurück, ob ich den Bottom erreicht habe.
Wenn das so ist wechsel ich ein paar css Anweisungen.Ich glaube ich muss mich jetzt endlich mal in jquery einarbeiten – scheint ja viele möglich zu sein.
Ich versuche mal die Seite oben umzustricken.PS : die outerHeight nahm ich damit ich margins und borders gleich mitberücksichtige.
- This reply was modified 8 years, 1 month ago by Guenni007.
September 26, 2016 at 1:40 pm #691630ok – schau jetzt mal ob es das ist was Du suchst!
http://webers-testseite.de/huth/September 26, 2016 at 5:13 pm #691810Meinst Du hier? http://webers-testseite.de/huth
Dann ist es NICHT das was ich suche.Ich meine das hier: https://dev.der-prinz.com/jupiter/
September 26, 2016 at 5:17 pm #691813hm – dein link im ersten Thread sieht aber anders aus.
Das scheint mir doch lediglich eine Kombination aus z-index und fixed position zu sein.
Zudem muss die Seite eine Background-color haben (wie dort mit #theme-page auf weiss festgelegt)September 26, 2016 at 5:20 pm #691816Naja, wenn man genau hinschaut, ist es durchaus das Gleiche. An die Kombination aus z-index und fixed position hatte ich auch gedacht, hab es aber nicht hinbekommen.
September 26, 2016 at 6:05 pm #691852naja – das eine scrollt schon erst mit hoch am content . – anyway:
schau jetzt nochmal bei Huth nach – dann gibt es den Kurs dazu bzw – glaube ich lieber in zip zum Download
- This reply was modified 8 years, 1 month ago by Guenni007.
September 26, 2016 at 6:33 pm #691859Jepp. Jetzt passt es bei Huth. Bin aber mal gespannt, wie Du das gemacht hast.
September 26, 2016 at 7:02 pm #691880im Wesentlichen steht alles da drin.
Wie gesagt die footer.php habe ich so verändert, dass die nicht mehr in main liegen !
Bisher habe ich da keine Probleme festgestellt.
Und dann ist es z-index hauptsächlichBei Boxed Layout musst du natürlich dann die footer und socket anpassen, da die ja nicht mehr in main liegen gelten die Regeln dann nicht mehr ( von wegen 100% weite)
Wenns Probleme gibt hier melden – oder meinem Nick ist auch die Webseite hinterlegt (schäm, meine ist noch nicht sehr schön gemacht. – hab zu viel um die Ohren – da muss ich jetzt mal ran) dann via e-Mail
ich habe es jetzt auch mal auf der Testseite : http://webers-testseite.de/elegant gemacht , und dabei gesehen, dass ich für grid auch eine css deklaration brauchte.
- This reply was modified 8 years, 1 month ago by Guenni007.
September 26, 2016 at 7:59 pm #691911ps im zip da muss es im php natürlich bei beiden abfragen:
spacerh = socketh + footerh - 3 ;
sein – sorry – flüchtigkeit
September 27, 2016 at 8:24 am #692080Cool, aber bei mir funktioniert das nicht. Keine Ahnung warum.
Naja, letztlich wäre es halt einfach schön, wenn diese Funktion in den Theme Optionen schaltbar wäre, wie bei Jupiter. Ich bin echt ein großer Freund von Enfold, aber teilweise hinkt es bei den Funktionen anderen schwer hinterher.
Gruß
MichaelSeptember 27, 2016 at 10:51 am #692112sorry in meinem zip war noch eine etwas ältere css
du hast ausschließlich container – kaum color-section genutzt. Ich hatte auf meiner Testseite nur Color-sections
Wie gesagt der Footer und Socket sind quasi immer da müssen aber durch z-index und hintergrundfarbe überdeckt seinwenn du das ergänzt muss es nun gehen: (immer wenn die durchscheinen musst du schauen welche container deklaration du hast.
.container_wrap konnte ich nicht nehmen, da footer und socket die auch haben.avia-section, .av-layout-grid-container, .main_color { z-index: 3 !important; }
ich denke dann sind alle main container mit abgedeckt
PS : solange footer und socket in main liegen wird es schwierig das zu realisieren. Ich hab das echt versucht. So ist es leichter.
Was dagegen spricht die eigentlich per default draußen zu haben ? klar ist wenn du auf boxed design umstellst mußt du footer und socket so setzen wie container_wrap
könnte man übrigens im php mit einbauen – versuch das gleich mal. denn die Abfrage $(‘body’).outerWidth() sollte es geben.- This reply was modified 8 years, 1 month ago by Guenni007.
September 27, 2016 at 11:18 am #692119Jepp. Jetzt geht´s. Klasse gemacht.
Ich hab das mal als Feature Request reingegeben. Mal schauen, ob das irgendwann als Option kommt ;-)
September 27, 2016 at 11:21 am #692123wenn du das als funktion nimmst musst du bei boxed nicht mehr aufpassen wegen der footer weite:
add_action('wp_footer', 'ava_custom_script'); function ava_custom_script(){ ?> <script type="text/javascript"> (function($) { $(document).ready(function(){ var bodyw = $('body').width(); $('#footer').css('max-width', bodyw ); $('#socket').css('max-width', bodyw ); }); $(window).load(function() { var socketh = $('#socket').outerHeight(), footerh = $('#footer').outerHeight(), spacerh = socketh + footerh - 3 ; $('#abstand').css('height', spacerh ); }); $(window).resize(function() { var socketh = $('#socket').outerHeight(), footerh = $('#footer').outerHeight(), spacerh = socketh + footerh - 3 ; $('#abstand').css('height', spacerh ); }); })(jQuery); </script> <?php }
So noch eines – bei fixed Frame funktioniert das auch, du musst nur die Werte anpassen. Je nachdem was da als frame eingestellt ist
-
AuthorPosts
- You must be logged in to reply to this topic.