显示/隐藏图像仅适用于IE

时间:2010-02-17 17:34:53

标签: javascript

我有JavaScript代码:

  var state = 'hidden';
    function Show_Picture() 
    {
        if (state == 'visible') 
            state = 'hidden';
        else 
            state = 'visible';
        document.getElementById('loader').style.visibility = state;
    }

'loader'是

<img alt="" id="loader" src="file:///D:/ajax-loader.gif"/>

为什么代码不适用于FF?在IE上它可以正常工作。

这是代码: http://pastebin.com/m38aa1847

3 个答案:

答案 0 :(得分:0)

使用框架。他们会为您处理所有这些跨浏览器业务。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js"></script>

<script>
function Show_Picture() {
    $('loader').toggle()
}
</script>

答案 1 :(得分:0)

请改为尝试:

var state ='hidden';

function Show_Picture() 

{

    if (state == '') 

        state = 'hidden';

    else 

        state = '';

    document.getElementById('loader').style.visibility = state;

}

答案 2 :(得分:0)

我实际上无法重现你的错误。我从pastebin中复制粘贴你的代码并在FF 3.5.6上运行它 - 我唯一改变的是图像源到我自己的本地图像。

您是否尝试在FF上进行调试?尝试使用Firebug打开它并查看是否报告任何错误。

也测试图像请求的响应代码。也许这是file://协议无法正常工作。

修改

是的 - 刚试过它。当我将图像的src更改为完全限定的本地路径(即具有file://的路径)时,它不会显示在Firefox中。您的Javascript工作正常 - 只需更改图像路径。