JQuery - 如何在 div 中加载内容时显示微调器?
JQuery - How to show a spinner while loading content in a div?
我有一个导航栏,里面有一些 link。单击任何 link 时,它会从导航栏旁边的 div 中相应的 html 页面加载内容。由于加载内容可能需要几秒钟,我试图在加载内容时显示微调器。这是我试过的示例代码:
$( '.nav_link' ).click( function( e ) {
$( '.div_content' ).html('');
var link = $(this);
setTimeout(function() {
$( ".div_content" ).load( link.attr( 'ref' ) );
}, 1000);
$( '.spinner' ).show(); // show Loading Div
setTimeout(function() {
$( '.spinner' ).hide(); // hide loading div
},1500);
});
上面的代码显示了微调器,它开始旋转,然后停止并冻结,直到内容加载完毕。然后微调器消失,内容看起来很好。我需要让它一直旋转直到内容完全加载,而不是这个冻结的旋转器。
Here is a full code example in plnkr
有什么建议吗?
我终于找到了一个有趣的解决方案来解决我的问题。在 div 中加载 html 内容时,使用 GIF 微调器图像会冻结,因此我使用了 css 创建的微调器,该微调器运行平稳,没有冻结。可以按照 here.
的说明创建
我有一个导航栏,里面有一些 link。单击任何 link 时,它会从导航栏旁边的 div 中相应的 html 页面加载内容。由于加载内容可能需要几秒钟,我试图在加载内容时显示微调器。这是我试过的示例代码:
$( '.nav_link' ).click( function( e ) {
$( '.div_content' ).html('');
var link = $(this);
setTimeout(function() {
$( ".div_content" ).load( link.attr( 'ref' ) );
}, 1000);
$( '.spinner' ).show(); // show Loading Div
setTimeout(function() {
$( '.spinner' ).hide(); // hide loading div
},1500);
});
上面的代码显示了微调器,它开始旋转,然后停止并冻结,直到内容加载完毕。然后微调器消失,内容看起来很好。我需要让它一直旋转直到内容完全加载,而不是这个冻结的旋转器。
Here is a full code example in plnkr
有什么建议吗?
我终于找到了一个有趣的解决方案来解决我的问题。在 div 中加载 html 内容时,使用 GIF 微调器图像会冻结,因此我使用了 css 创建的微调器,该微调器运行平稳,没有冻结。可以按照 here.
的说明创建