Javascript 我的加载gif动画不工作
我有一个正在加载的GIF: 但是当我用GIF显示div时,动画不起作用,GIF像图像一样保持静止: my div的HTML代码:Javascript 我的加载gif动画不工作,javascript,html,gif,Javascript,Html,Gif,我有一个正在加载的GIF: 但是当我用GIF显示div时,动画不起作用,GIF像图像一样保持静止: my div的HTML代码: <div id="modalPDF" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true"> <div class="modal-dialog modal-sm"> &l
<div id="modalPDF" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-body">
<div id="carregando">
<img alt="" src="imagens/refresh.gif">
<h4>Aguarde, gerando Arquivo...</h4>
</div>
</div>
</div>
</div>
</div>
OBS:在显示加载GIF后,我运行了一个递归方法,并进行了大量的JS处理。这不是GIF问题的答案,而是问题的替代解决方案 使用CSS加载器而不是gif,这将使加载速度更快,对浏览器更友好 要使用它,只需调用
screenLoader\u Global()
来显示它,并调用remove\u screenLoader\u Global()
来删除它,注意这里我使用了jQuery,但您可以使用纯js轻松编写相同的函数
这个想法很简单,使用js显示和隐藏CSS加载程序
//加载程序(提交后)
$('input[type=“button”]”)。在('click',函数(e){
//显示加载器
screenLoader_Global();
//只是为了测试,删除加载程序
setTimeout(函数(){
移除_屏幕加载器_全局();
}, 3000);
});
/*-----------------------------------------------------
全局屏幕加载程序添加/删除
------------------------------------------------------*/
函数screenLoader_Global(){
$('')。附于('正文');
}
函数remove\u screenLoader\u Global(){
$('.loader mask').remove();
}
/*-----------------------------------------------
css加载器(松弛样式)
-----------------------------------------------*/
.加载器{
位置:相对位置;
宽度:5em;
身高:5公分;
变换:旋转(165度);
}
加载器:之前,
加载器:之后{
内容:'';
位置:绝对位置;
最高:50%;
左:50%;
显示:块;
宽度:1米;
高度:1米;
边界半径:0.5em;
转换:翻译(-50%,-50%);
}
加载器:以前{
动画:在2s无限之前松弛;
}
加载器:之后{
动画:2秒无限后松弛;
}
@关键帧松弛之前{
0% {
宽度:1米;
盒影:2em-1em rgba(225,20,98,0.75),-2em-1em rgba(111,202,220,0.75);
}
35% {
宽度:5em;
盒影:0-1米rgba(225,20,98,0.75),0-1米rgba(111,202,220,0.75);
}
70% {
宽度:1米;
盒影:-2em-1em rgba(225,20,98,0.75),2em-1em rgba(111,202,220,0.75);
}
100% {
盒影:2em-1em rgba(225,20,98,0.75),-2em-1em rgba(111,202,220,0.75);
}
}
@关键帧松弛后{
0% {
高度:1米;
盒影:1em-2em rgba(611841430.75),-1em-2em rgba(233169,32,0.75);
}
35% {
身高:5公分;
盒影:1E0RGBA(611841430.75),-1E0RGBA(23316932.75);
}
70% {
高度:1米;
盒影:1em-2em rgba(611841430.75),-1em-2em rgba(233169,32,0.75);
}
100% {
盒影:1em-2em rgba(611841430.75),-1em-2em rgba(233169,32,0.75);
}
}
/*居中*/
.加载器{
位置:绝对位置;
顶部:钙(50%-2.5em);
左:钙(50%-2.5em);
}
/**
*禁用背景
*/
.装载机掩码{
位置:固定;
z指数:9998;
排名:0;
左:0;
宽度:100%;
身高:100%;
背景色:rgba(0,0,0,5);
显示:表格;
过渡:不透明度。3s缓解;
}
这不是gif问题的答案,而是解决问题的替代方案 使用CSS加载器而不是gif,这将使加载速度更快,对浏览器更友好 要使用它,只需调用
screenLoader\u Global()
来显示它,并调用remove\u screenLoader\u Global()
来删除它,注意这里我使用了jQuery,但您可以使用纯js轻松编写相同的函数
这个想法很简单,使用js显示和隐藏CSS加载程序
//加载程序(提交后)
$('input[type=“button”]”)。在('click',函数(e){
//显示加载器
screenLoader_Global();
//只是为了测试,删除加载程序
setTimeout(函数(){
移除_屏幕加载器_全局();
}, 3000);
});
/*-----------------------------------------------------
全局屏幕加载程序添加/删除
------------------------------------------------------*/
函数screenLoader_Global(){
$('')。附于('正文');
}
函数remove\u screenLoader\u Global(){
$('.loader mask').remove();
}
/*-----------------------------------------------
css加载器(松弛样式)
-----------------------------------------------*/
.加载器{
位置:相对位置;
宽度:5em;
身高:5公分;
变换:旋转(165度);
}
加载器:之前,
加载器:之后{
内容:'';
位置:绝对位置;
最高:50%;
左:50%;
显示:块;
宽度:1米;
高度:1米;
边界半径:0.5em;
转换:翻译(-50%,-50%);
}
加载器:以前{
动画:在2s无限之前松弛;
}
加载器:之后{
动画:2秒无限后松弛;
}
@关键帧松弛之前{
0% {
宽度:1米;
盒影:2em-1em rgba(225,20,98,0.75),-2em-1em rgba(111,202,220,0.75);
}
35% {
宽度:5em;
盒影:0-1米rgba(225,20,98,0.75),0-1米rgba(111,202,220,0.75);
}
70% {
宽度:1米;
盒影:-2em-1em rgba(225,20,98,0.75),2em-1em rgba(111,202,220,0.75);
}
100% {
盒影:2em-1em rgba(225,20,98,0.75),-2em-1em rgba(111,202,220,0.75);
}
}
@关键帧松弛后{
0% {
高度:1米;
盒影:1em-2em rgba(611841430.75),-1em-2em rgba(233169,32,0.75);
}
35% {
身高:5公分;
盒影:1E0RGBA(611841430.75),-1E0RGBA(23316932.75);
}
70% {
高度:1米;
盒影:1em-2em rgba(611841430.75),-1em-2em rgba(233169,32,0.75);
}
100% {
盒影:1em-2em rgba(611841430.75),-1em-2em rgba(233169,32,0.75);
}
}
/*居中*/
.加载器{
位置:绝对位置;
顶部:钙(50%-2.5em);
左:钙(50%-2.5em);
}
/**
*禁用背景
*/
.装载机掩码{
位置:固定;
z指数:9998;
排名:0;
左:0;
宽度:100%;
身高:100%;
背景色:rgba(0,0,0,5);
显示:表格;
tr
$('#modalPDF').modal('show');