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

时间:2017-10-14 21:38:44

标签: javascript jquery animation preloader

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

<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>

我只是希望它在进入网站或主页时每个会话显示一次。我需要帮助。谢谢。

3 个答案:

答案 0 :(得分:1)

使用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);

  }

答案 1 :(得分:0)

我想你不是告诉所有人。

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

答案 2 :(得分:0)

你可以在调用超时之前检查

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