1

当我点击一个按钮,使用onClick函数,我用另一个替换图像。 的代码是这个Javascript适用于所有浏览器免费IE 9

<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> 
在CSS我有这个

.blue_button{ 
    display:block; 
    height:30px; 
    margin-right:20px; 
    float:left; 
    width:110px; 
    color:#FFF; 
    font-size:12px; 
     border-radius:4px; 
     padding:0 23px 0 20px; 
    } 

     .blue_button img{ 
      position:relative; 


top:5px; 
     margin-right:7px; 
    } 

    .blue_button img#loading{ 
     display:none; 
     float:left; 
     top:-17px; 
    } 

它工作在每一个浏览器,IE9 exept。如果我激活兼容模式,它可以工作,但我需要维护标准模式。

==求助== 使用不显眼的js。感谢所有

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

正在发生的页面上的任何错误? –

+0

我也想看到一个HTML页面,并且getsupport有什么作用?你有一个onclick和与JavaScript的href。另外onclick包含“javascript:”可能是错误。 –

+0

也许使用document.getElementById()? – rednaw

回答

1

我想我找到了问题:

onClick="javascript:loading.style.display='block';zip.style.visibility='hidden';" 

onclick事件不需要javascript:

如果包含JavaScript的休息,我也许能测试它。

此外,你有两个onclick和href。你可能只想使用其中之一。你可能想看看addEventListener()你可以阅读更多关于它here

在另一个说明你的CSS类命名是非常糟糕的。你不想叫他们像蓝色,红色等东西。这可以改变。你想保持它们的语义。

阅读:使用一种称为装载对象What Makes For a Semantic Class Name?

1

您选择。但它不存在它的一个DOM ID。因此您需要先使用document.getElementById(“loading”)(或querySelector)从页面中检索它。

尝试改变您选择的代码

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

正如@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> 
相关问题