J'ai un code javascript personnalisé pour que lorsque vous faites défiler la page jusqu'à l'endroit où la boîte de commentaires facebook n'est pas chargée. Au moment où le défilement atteint le site, les commentaires sont chargés et apparaissent.

Mais cela prend environ deux secondes et je voudrais apparaître tout en chargeant un gif animé jusqu'à ce que les commentaires soient complètement chargés. J'ai essayé d'ajouter mais ne disparaît pas lors de l'affichage des commentaires. Probablement parce que javascript ne sait vraiment pas quand les commentaires ont été entièrement chargés.

Y a-t-il un moyen de le réparer?

function loadAPI() {
    var js = document.createElement('script');
    js.src = '//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=73773988950&version=v2.0';
    document.body.appendChild(js);

}

window.onscroll = function () {

    if (document.getElementById("coments")) {


    var rect = document.getElementById('coments').getBoundingClientRect();

    if (rect.top < window.innerHeight) {

        loadAPI();

        window.onscroll = null;
    }

    }

En fait, si le contenu dynamique lui-même place un gif, vous savez que javascript sait ce qu'il charge et affiche une fois chargé, supprimant le gif.

1
PlayerWet 6 mars 2016 à 15:45

3 réponses

Meilleure réponse

Placez le gif de chargement dans un <div> où vous souhaitez que vos commentaires Facebook apparaissent plus tard et chargez les commentaires Facebook dans cette div au lieu de les ajouter au <body>.

1
Johannes 6 mars 2016 à 13:05

Ayez la balise suivante:

  <body onload=" myFunction()">

Avec une fonction javascript myFunction () pour afficher une image uniquement.

1
Arif Burhan 6 mars 2016 à 12:52

Juste un coup d'œil, et apparemment vous ne pouvez pas utiliser onload avec div, mais il y a une discussion complète ici:

Onload-in-div-whynot

1
Community 23 mai 2017 à 11:50