【问题标题】:My preloader animation appears every time when i click anything每次单击任何内容时都会出现我的预加载器动画
【发布时间】:2017-10-14 21:38:43
【问题描述】:

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

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

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

【问题讨论】:

  • 我们需要更多代码。
  • No click 事件出现在问题代码中
  • 只是在我的网站加载动画时出现-在这里查看-toolitmedia.com

标签: javascript jquery animation preloader


【解决方案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);

  }

【讨论】:

  • 我试过了,但没有用。在这里查看 - toolitmedia.com
  • 你能把你说的稍微编辑一下的代码贴在这里
  • 我试了几次,但都是一样的......当我点击任何地方时,动画再次发生
【解决方案2】:

我想你不会全部说出来。

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

【讨论】:

【解决方案3】:

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

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

【讨论】:

  • 我试过了,但是不行。我在其他帖子上看到,他们谈到了 cookie。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多