Background Image loads instantly
-
Hi Florian,
Could you help me out figure out why the following background-image is loading instantly?
Leaf_cszwry.png. It is the back-image of Our Service section.
Here is how I set it up:
<div class="background-image home-banner-cover services-banner-cover banner-content-height lazyload" style="" data-bg="<?php echo $home_image_object['url']; ?>">Thanks
The page I need help with: [log in to see the link]
-
Hey @stemon,
hm, could you try adding the following attribute temporarly to the image:
data-expand="0"and see if this has an effect?Best,
FlorianThanks for the quick reply.
I have added the attribute but the same is happening, I left it there in case you’d like to have a look.
Thanks again
Hey,
now for me the image gets loaded if I am on the second »section« of the site. Being on the first does not trigger loading. What browser and OS are you using?
Best,
FlorianI am using Chrome and tried on Safari as well, but I see it being loaded when on the first section :/
Yes, seeing it in Chrome (and Firefox as well, seems to be that it worked only once…).
I think the issue is that the script that calculates the height of the sections runs after lazysizes, so that the third section container is – at that moment – in, or near, the visible area. This seems to fix that:
window.lazySizesConfig = window.lazySizesConfig || {}; window.lazySizesConfig.init = false; jQuery(document).ready(function() { setTimeout(function() { lazySizes.init(); }, 10); })All it does is prevent the lazysizes script from running automatically and running it after
jQuery(document).ready(the same event that the script for the section calc uses), with a timeout of 10ms, so it runs after the height calculation.That’s not a really great solution. Maybe a CSS only way could also work:
.home-banner-cover { min-height: 100vh; }That would be the better solution in my opinion.
Hope that helps!
Florian-
This reply was modified 7 years, 1 month ago by
Florian Brinkmann.
Thanks Florian.
I just tried them both but none worked. This theme is using some jquery plugins and many plugins are not working seamlessly. I will leave it like that. Thank you very much.
You’re welcome.
One more try: Is it possible that when you tried the script solution that the script was output after the lazysizes script on the website? Modifications of the lazysizes config need to happen before lazysizes is loaded. I described a solution for including an inline script before lazysizes here: https://ww.wp.xz.cn/support/topic/lazy-load-css-background-2/#post-10219851
Maybe that was the problem that prevented the script from working.
Best,
FlorianUnfortunately, it did not help :/
Thanks again for the great support you always offer!
Hi,
no problem!
Sorry to hear that it didn’t do the trick… Would it be possible that you send me the theme (and plugins, if needed for this section-layout) so I can recreate a similar site locally for debugging (you can find my email address on the contact page of my site that is linked from my forum profile)? I would love to get this fixed or at least understand why it is not working 🙂
Thanks,
FlorianSounds good. I have just emailed you.Thanks
Hello
can you point me on documentation where I can find instructions how to lazy load images which are bachround.
here is code how my theme is picking up images
<article class="carousel-audio-article" <?php if( has_post_thumbnail() ) : ?> style="background-image: url(<?php echo stylish_get_featured_image_url('blog'); ?>);" <?php endif; ?>> <span class="article-type">Thanks for a help!
Try the following
<article class="carousel-audio-article lazyload" <?php if( has_post_thumbnail() ) : ?> data-bg="<?php echo stylish_get_featured_image_url('blog'); ?>" <?php endif; ?>> <span class="article-type">-
This reply was modified 7 years, 1 month ago by
Stefano Monteiro.
Hi thanks for your kind replay.
That didn’t helped 🙂
Make sure you have lazysizes unveilhooks enabled.
If you’d like send you url.
Hi @stemon,
Sounds good. I have just emailed you.Thanks
Thanks, but I did not recieve an email. Have you sent the theme as an attachment to the email? Then it is possible that Gmail has blocked it, if I remember correctly they do not like JavaScript files in attachments.
@dnikola, it should work like @stemon described it. Here is the official documentation of the unveilhooks extension of the lazysizes script my plugin uses: https://github.com/aFarkas/lazysizes/tree/gh-pages/plugins/unveilhooks
Best,
Florian -
This reply was modified 7 years, 1 month ago by
The topic ‘Background Image loads instantly’ is closed to new replies.