【问题标题】:How to show something, once specific script is loaded?加载特定脚本后如何显示某些内容?
【发布时间】:2015-10-20 18:06:58
【问题描述】:

我有一个带有社交媒体分享按钮的小工具。 按钮的 API 需要几秒钟才能加载,选项卡有一个旋转图标,按钮可见但不可用。这显然很糟糕。

我现在正在使用下面的小脚本在页面加载后加载 API,我想保留它。

<script>
// Load the share API's once the entire page is loaded.
    $(window).bind("load", function() {
       $.getScript('js/share.js', function() {});
    });
</script>

但我也想隐藏社交媒体按钮 div,直到脚本中的 API 被加载,我该如何实现?

【问题讨论】:

  • $.getScript()的第二个参数作为回调。在里面输入一些代码!
  • 这不太行,我需要等待 API 加载,而不仅仅是脚本。

标签: javascript jquery performance share social


【解决方案1】:

让你的 div 不显示,然后在脚本加载后使用你已经设置的匿名回调显示它。

HTML:

<div id="socialmedia" class="hide"></div>

CSS:

.hide {
    display: none;
}

JS:

$(window).bind("load", function () {
    $.getScript('js/share.js',
        function () {
            $('#socialmedia').removeClass('hide');
        }
    );
});

【讨论】:

  • 这不是我所需要的。一旦 API 不仅加载了脚本,我还需要删除该类。
  • 因此,一旦您获得脚本,它是否会自动运行以加载您需要的任何内容,或者您​​是否需要调用某些内容来加载它?如果在您获得脚本后调用加载这些东西,可能会提供回调?
  • 有触发器,但我不确定是否有回调。我正在使用这个:github.com/ritz078/socialShare.js
  • 是的,它看起来不像。您可以尝试使用 jquery queue 使事情同步运行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多