Jquery 在客户端脚本执行时显示加载GIF图像
我得到了非常重的jQuery代码。所有内容都预加载到客户端,然后使用jQuery进行排序:Jquery 在客户端脚本执行时显示加载GIF图像,jquery,Jquery,我得到了非常重的jQuery代码。所有内容都预加载到客户端,然后使用jQuery进行排序: $('.acc_trigger').hide(); $('#taxonomylist ul li').each(function() { $href = $("a", this).attr("href"); if (!$href.match(/^.*\/activity\/.*[a-z,A-Z]$/i)) { $(this).hide(); } }); $('#ta
$('.acc_trigger').hide();
$('#taxonomylist ul li').each(function() {
$href = $("a", this).attr("href");
if (!$href.match(/^.*\/activity\/.*[a-z,A-Z]$/i)) {
$(this).hide();
}
});
$('#taxonomylist ul li a').click(function() {
$href = $(this).attr("href");
$('.acc_trigger').hide();
$regex = new RegExp("^" + $href + "+$");
$('div.taxonomy ul li').each(function() {
$href_taxonomy = $("a", this).attr("href");
if ($href_taxonomy == $href) {
$(this).parents().filter('.views-field-webform-form-body').prev().show();
}
});
$('#taxonomylist ul li').each(function() {
$href_sub = $("a", this).attr("href");
if (!$href_sub.match($regex)) {
$(this).show();
}
});
return false;
});
当JavaScript代码运行时,如何显示加载图像?或者您可能在我的代码中看到了一些可以改进的地方?如果不知道这个jQuery在操作什么,就很难提出任何改进建议
然而,我过去使用过加载图标,将它们作为背景图像放在所有数据加载到的任何对象上,这样当数据加载时,它就会覆盖它们。只需在开始jQuery工作之前显示加载图像,并在完成后将其隐藏即可
我不认为在使用Ajax时会发生类似的事件。浏览器中的JavaScript执行、页面呈现和绘制管道是单线程的(除非将HTML5 webworkers计算在内)。这意味着,如果您运行的JavaScript占用了足够多的CPU,动画GIF图像将停止动画。唯一的解决方法是优化代码,在某些情况下,使用
settimeout
打破执行调用堆栈。您还可以查看jquery插件blockUI,它可以阻止整个或部分ui并显示加载图像