【发布时间】:2017-07-23 16:08:46
【问题描述】:
我正在使用 jquery 将数组附加到 div,我想在发生这种情况时显示一个小的加载指示器,所以我在我的附加逻辑上抛出了一个回调函数。这可行,但是,我的加载程序会在我的数组被绘制到 div 之前触发它的 .hide()。
有没有办法只能在数组绘制完成后运行.hide()?
var contentpush = [];
// create x-amount of divs (x being 'tabs')
for (var i = 0; i < tabs; i++){
contentpush.push('<li class="tab" role="tab"><a href="#tab'+(i+1)+'"><span class="icon"><span class="'+contentformat[i].icon+'" ></span></span><span class="title">'+contentformat[i].title+'</span></a></li>');
}
$('.tablist').append(contentpush.join('')).ready(function(){$('#skeleton').hide(); });;
如您所见,骨架加载器将在我的数组实际绘制到 div 之前很久就消失了。非常感谢您对此的任何想法!
【问题讨论】:
-
你能把代码放在 fiddle 或 codepen 中吗?
-
不完全是,整个 web 应用程序是建立在公司 cms 上的,所以它使用这些 cms 模块来处理我的一些逻辑,但包含的代码是处理附加功能的唯一部分跨度>
-
你尝试过加载事件而不是 jquery 中的就绪事件吗?
-
@ether 我怀疑对附加的影响仍然可以使用 .show('slow') 来减慢快速变化的元素。
-
@mnemosdev 刚刚尝试使用 .load,但它甚至没有显示骨架框架。我想我肯定需要 .ready 因为它会在追加开始后寻找,而不是在页面加载时寻找。
标签: javascript jquery html css arrays