每次单击任何内容时,我的预加载器动画都会出现

My preloader animation appears every time when i click anything

每次单击任何内容时,我的预加载器动画都会出现。我希望它在进入网站时出现一次或仅在主页出现。

<div class="loader"><div style="width=150%; height=150%; background-color:white;" id="bodymovin"></div> </div>

我使用jquery延迟加载时间以正确显示动画

<script type="text/javascript">
         setTimeout(function(){
        $('body').addClass('loaded');
                     $(".loader").fadeOut("slow");
    }, 5000);
</script>

我只想在进入网站或主页时在每个会话中显示一次。我需要这方面的帮助。谢谢。

我觉得你说的不是全部。

您的代码在其他地方有点击事件的侦听器。

你可以在调用超时前检查

   if(!$('body').hasClass('loaded')){
    setTimeout(function(){
            $('body').addClass('loaded');
                         $(".loader").fadeOut("slow");
        }, 5000);
   }

使用 document.referrerdocument.domain 来发现第一个条目或没有并为加载器添加 style="display:none;"

<div class="loader" style="display:none;">
    <div style="width=150%; height=150%; background-color:white; border-style:solid;" id="bodymovin">
       My text for one show...
    </div>
</div>

<a href="">test link for self page(for not show loader)</a>

像这样:

  var referrer =  document.referrer;
  var domain = document.domain;
  if(referrer.indexOf(domain)<0){  //if refer from curent domain. 
     $(".loader").show();          //show loader
     setTimeout(function(){
          $(".loader").fadeOut("slow");
     }, 5000);

  }