Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery/Javascript不激活gif图像(仅限Firefox)_Javascript_Jquery_Gif - Fatal编程技术网

Jquery/Javascript不激活gif图像(仅限Firefox)

Jquery/Javascript不激活gif图像(仅限Firefox),javascript,jquery,gif,Javascript,Jquery,Gif,首先要提到的是,我的代码在IE8和Google Chrome中工作。 只有在Firefox下我才有这个问题,在Ubuntu下测试了它,并用FF赢了XP 我试图在刷新页面时显示ajaxloader gif图像。 一开始,我使用jquery.ready()函数来隐藏显示图像的div#刷新。 当我们点击刷新链接时,我会显示div#reshing。我的问题是ajaxloader.gif没有转动 就像它应该成为一个固定的形象。但正如前面提到的,它在chrome和IE下工作 知道为什么吗 HTML: Jav

首先要提到的是,我的代码在IE8和Google Chrome中工作。 只有在Firefox下我才有这个问题,在Ubuntu下测试了它,并用FF赢了XP

我试图在刷新页面时显示ajaxloader gif图像。 一开始,我使用jquery.ready()函数来隐藏显示图像的div#刷新。 当我们点击刷新链接时,我会显示div#reshing。我的问题是ajaxloader.gif没有转动 就像它应该成为一个固定的形象。但正如前面提到的,它在chrome和IE下工作

知道为什么吗

HTML:

JavaScript:

$(document).ready(
    function() {
        // hide the ajax loader
        $("#refreshing").hide();
    }
);

function refreshPage() {
    $("input").attr("disabled", "disabled");
    $("select").attr("disabled", "disabled");
    $("img").attr("onclick", "");
    $("a").attr("href", "#");
    window.location.href = window.location.href;
    $("#refreshing").toggle();
}
还有一件事是firefox配置image.animation_模式设置为正常。 另外,如果我看下firebug,图像是动画的


谢谢大家。

它不起作用的原因是Firefox在页面刷新时停止了所有gif动画


为了实现这一点,您应该通过ajax加载页面(或者更好的是,只加载更新的部分),并用新内容覆盖现有内容。

我终于在一个美好的星期三早上设法让它与咖啡一起工作。
下面是代码,当Firefox停止GIF图像工作时,我用它来显示
用户说我们正在刷新页面,我想可能是我刷新页面的方式不正确。

因此,我使用window.location.reload()在Javascript中搜索另一种刷新页面的方法
我试过了,但是这个方法只有一个问题,我在刷新时失去激活的输入在刷新时仍然被禁用。

我在$(document.ready(function(){//activate-input})中重新激活了它们
最后,它工作正常,但我仍然觉得重新激活很奇怪。
最后,我搜索window.location.href=window.location.href和window.location.reload()之间的差异 在这里找到了->

因此,通过将参数true传递给reload函数,我们告诉reload函数不要发布旧的post数据,并从服务器获取页面的新副本。
这完全解决了我的问题。

我没有更改HTML代码,CSS也没有更改

<!-- JS -->
$(document).ready(
    function() {
        // hide the ajax loader
        $("#refreshing").hide();
    }
);
function refreshPage() {
    $("input").attr("disabled", "disabled");
    $("select").attr("disabled", "disabled");
    $("img").attr("onclick", "");
    $("a").attr("href", "#");
    window.location.reload(true);
    $("#refreshing").show();
}

$(文件)。准备好了吗(
函数(){
//隐藏ajax加载程序
$(“#刷新”).hide();
}
);
函数刷新页面(){
$(“输入”).attr(“禁用”、“禁用”);
$(“选择”).attr(“禁用”、“禁用”);
$(“img”).attr(“onclick”,”);
$(“a”).attr(“href”,“#”);
window.location.reload(true);
$(“#刷新”).show();
}

谢谢大家。

另一个解决方案是为动画加载程序使用html5画布元素。它在重新加载页面时仍然可以正常工作


此生成器运行良好,并且与跨浏览器兼容

只是猜测,但可能它没有显示,因为页面在到达代码之前正在卸载,请尝试将“window.location.href=…”放在切换方法调用的回调中,这样在重新加载页面之前将显示图像。trued$(“#刷新”).toggle(函数(){window.location.href=window.location.href;});但它也做了同样的事情。
$(document).ready(
    function() {
        // hide the ajax loader
        $("#refreshing").hide();
    }
);

function refreshPage() {
    $("input").attr("disabled", "disabled");
    $("select").attr("disabled", "disabled");
    $("img").attr("onclick", "");
    $("a").attr("href", "#");
    window.location.href = window.location.href;
    $("#refreshing").toggle();
}
<!-- JS -->
$(document).ready(
    function() {
        // hide the ajax loader
        $("#refreshing").hide();
    }
);
function refreshPage() {
    $("input").attr("disabled", "disabled");
    $("select").attr("disabled", "disabled");
    $("img").attr("onclick", "");
    $("a").attr("href", "#");
    window.location.reload(true);
    $("#refreshing").show();
}