这个问题是我今天早些时候发布的this问题的继续。
Chrome重叠式错误链接为here
我在我的问题(上面提供的链接)中发布了大部分细节。因此,在摆弄代码并在stackoverflow成员之一的帮助下,我们已经决定问题不是与脚本相关,而是在Chrome上纯粹是CSS问题。
以下是我之前修改的相同功能的3个不同版本
JS版本1(原创) - 进度加载程序适用于FF,Safari但不适用于Chrome和IE
function progressIndicator(value) {
if(value) {
$("#progressIndicatorBackground").show();
}
else {
$("#progressIndicatorBackground").hide();
}
}
JS版本2 - 应用Chrome叠加层修复后 - 没有运气,仍然是同样的问题。
function progressIndicator(value) {
if(value) {
$("#progressIndicatorBackground").show();
var TmpHeigh = $("#progressIndicatorBackground").css('height');
$("#progressIndicatorBackground").css('height', parseFloat(TmpHeigh)-1);
}
else {
$("#progressIndicatorBackground").hide();
}
}
JS版本3 - 将显示和隐藏功能更改为切换 - 这使得进度加载程序也适用于Chrome和IE。但是一旦我开始获取JSON内容,显示attubite总是被设置为阻止。正确加载内容后,它不会设置为display:none。所以我一直在页面上预加载。
function progressIndicator(value) {
if(value) {
$("#progressIndicatorBackground").toggle();
var TmpHeigh = $("#progressIndicatorBackground").css('height');
$("#progressIndicatorBackground").css('height', parseFloat(TmpHeigh)-1);
}
}
我不知道接下来该做什么以及如何解决问题。我不在乎这是不是很脏。
答案 0 :(得分:0)
我认为toggleClass()
可能会解决这个问题,请看一下fiddle here。只需设置一个隐藏它的类,然后使用display:none
之外的其他类,并在希望显示加载栏或要隐藏它时切换它。在我的例子中,我只是设置了Timeout而不是动画加载动画,但希望隐藏/显示方法无论如何都能正常工作。