Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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
Javascript适用于除IE 9之外的所有浏览器_Javascript_Internet Explorer_Internet Explorer 9_Compatibility_Backwards Compatibility - Fatal编程技术网

Javascript适用于除IE 9之外的所有浏览器

Javascript适用于除IE 9之外的所有浏览器,javascript,internet-explorer,internet-explorer-9,compatibility,backwards-compatibility,Javascript,Internet Explorer,Internet Explorer 9,Compatibility,Backwards Compatibility,当我使用onClick函数单击一个按钮时,我会用另一个图像替换一个图像。 代码是这样的 <a class="blue_button" onClick="javascript:loading.style.display='block';zip.style.visibility='hidden';" href="javascript:getsupport('zip')" id="download"> <img id="zip" src="img/zip.png"> <i

当我使用onClick函数单击一个按钮时,我会用另一个图像替换一个图像。 代码是这样的

<a class="blue_button" onClick="javascript:loading.style.display='block';zip.style.visibility='hidden';"
href="javascript:getsupport('zip')" id="download">
<img id="zip" src="img/zip.png">
<img id="loading" src="img/loading.gif">
</a>
它适用于除IE9之外的所有浏览器。如果我激活兼容模式,它会工作,但我需要保持标准模式

==已解决== 使用不引人注目的js。多谢大家

window.onload = loading;
function loading()
{
    document.getElementById('download').onclick = function()
    {
        document.getElementById('zip').style.visibility = 'hidden';
        document.getElementById('loading').style.display = 'block';
    }
}

我想我发现了问题:

onClick="javascript:loading.style.display='block';zip.style.visibility='hidden';"
onclick事件不需要
javascript:

若您包含了JavaScript的其余部分,我可能可以对其进行测试

此外,您还有onclick和href。您可能只想使用其中一个。您可能想看看
addEventListener()
,您可以阅读更多有关它的信息

另一方面,您的CSS类命名非常糟糕。你不想把它们叫做蓝色、红色等。这是可以改变的。你想保持它们的语义


阅读:

您正在使用一个名为loading的对象。但是它不存在,它是一个DOM id。因此,您需要首先使用document.getElementById(“加载”)(或querySelector)从页面检索它

试着把你的代码改成

onClick="document.getElementById("loading").style.display='block';onClick="document.getElementById("zip").style.visibility='hidden';"

正如@Allan所说,你有太多的事情要做,你依赖于副作用和范围过载

我会这样做:

普通JS

window.onload=function() {
  document.getElementById("download").onclick=function() {
    document.getElementById("loading").style.display='block';
   // use .display='none' to remove, 
   // visibility='hidden' to hide but leave the space
    document.getElementById("zip").style.display='none'; 
    getsupport('zip');
    return false;
  }
}
jQuery:

$(function() {
  $("#download").on("click",function() {
    $("#loading").show();
    $("#zip").hide(); 
    getsupport('zip');
    return false;
  });
});
两种情况下的HTML:

<a class="blue_button" href="#" id="download"><img id="zip" src="img/zip.png"><img id="loading" src="img/loading.gif"></a>


页面上是否出现任何错误?我也想查看HTML页面,getsupport做什么?您有一个onclick和一个带有javascript的href。此外,onclick包含“javascript:”这可能是错误。可能使用document.getElementById()?将“onclick”属性值以“javascript:”开头是没有意义的。这在Firefox中不应该起作用;代码假设它可以基于“id”值访问DOM元素作为全局变量,这是Firefox不支持的非标准Internet Explorer约定。哦,是的,同时使用“href”和“onclick”是一个非常糟糕的主意。代码应该真正收集在一个函数中。
<a class="blue_button" href="#" id="download"><img id="zip" src="img/zip.png"><img id="loading" src="img/loading.gif"></a>