我在应用程序中包含了一种加载面板。看起来是这样的:
这是我的JS代码。它生成loadingElement并将其附加到主体中。
function addLoadingLayer() {
var loadingElement =
'<div class="containerLoading"><div class="layerLoading"></div></div>';
$("body").append(loadingElement);
}
下面是我的两个CSS类,它们是loadingPanel的样式。
.containerLoading {
background-color: rgba(0,0,0,0.8);
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
z-index: 999999;
}
.layerLoading {
position: absolute;
top: 50%;
left: 50%;
background-color: #FFFFFF;
background-image: url('/img/hourglass.gif');
background-position: center;
background-repeat: no-repeat;
width: 60px;
height: 60px;
border-radius: 5px;
margin-left: -35px;
margin-top: -35px;
border: 3px solid #007DC1;
overflow: hidden;
}
在应用程序中,我将像这样调用JS函数来显示动画:
<select name="selectItem" onchange="addLoadingLayer(); submit();">
如果要更改所选的项,则将调用JS函数。为了隐藏加载面板,将调用JS函数submit()。
在Firefox和Chrome中,一切都很好,但在Edge或IE中则不然。怎么啦?有什么好主意怎么解决这个问题吗?
发布于 2017-06-01 10:41:07
看到这里的其他评论,听起来你想要同时显示GIF和提交表单。你应该这样做:
<form onsubmit="addLoadingLayer()">
<select name="selectItem" onchange="this.form.submit()">
<select name="selectItem2" onchange="this.form.submit()">
</form>
....
这是两者的结合。每当您的选择更改时,它都会提交表单,当表单被提交时,它会调用您的函数。
也可以使用jquery将onchange分配给任意选择元素:
$('select').on('change', function(e){
this.form.submit()
});
如果这仍然不起作用,我们需要看到更多的html / submit代码,看看是什么阻止了它。
https://stackoverflow.com/questions/44309970
复制