2013-07-16 50 views
0

我正在尝试更改<span>标记的文本颜色。更改文本颜色在不同的浏览器中工作

<script type="text/jscript"> 
window.setInterval(function(){ 
    if ($("#sw").css("color") == "red") { 
    $("#sw").css("color","blue"); 
    } 
    else if($("#sw").css("color") == "blue") { 
    $("#sw").css("color","green"); 
    } 
    else if($("#sw").css("color") == "green") { 
    $("#sw").css("color","red"); 
    } 
    }, 1000); 


</script> 

上面的示例应该更改<span>标记中的文本颜色。

我已经在Internet Explorer测试,它工作正常,但它不能在谷歌浏览器Mozilla Firefox浏览器工作。

什么问题?这些浏览器不支持这个吗?有没有解决方法?这个问题的解决方案是什么?

+0

这有什么做用C#或ASP.net。 – crush

+0

浏览器vyawasthit aahe na? [javascript enabled ???] –

+0

@ M.N.S。,是指?如果你有疑问,那么你可以检查它并找出你的自我,但在我的情况下,这是行不通的。 –

回答

0

检查此琴Link

setInterval(function(){ 
    if($("#sw").css("color") == "rgb(0, 0, 255)"){ 
    $("#sw").css("color","Red"); 
    } 
    else if($("#sw").css("color") == "rgb(255, 0, 0)") 
    { 
    $("#sw").css("color","green"); 
    } 
    else{ 
    $("#sw").css("color","Blue"); 
    } 
},1000); 
0

你得到的RGB值,而不是颜色名称

当我用VAR看看= $( '#SW')。CSS(”颜色');在Chrome调试器中结果为“rgb(255,0,0)”

您的代码不起作用,因为返回的字符串是颜色的rgb值,而不是颜色本身,用RGB值替换名称修复了你的代码。

<script type="text/jscript"> 
         window.setInterval(function() { 
        if ($('#sw').css('color') === 'rgb(255, 0, 0)') { 
         $("#sw").css("color", "rgb(0, 0, 255)"); 
         } 
        else if ($("#sw").css("color") === "rgb(0, 0, 255)") { 
         $("#sw").css("color", "rgb(0, 128, 0)"); 
         } 
        else if ($("#sw").css("color") === "rgb(0, 128, 0)") { 
         $("#sw").css("color", "rgb(255, 0, 0)"); 
         } 
        }, 1000); 
</script> 

正如在第二个相关问题中指出的那样,这不会在IE上担心。因为IE使用十六进制值。我建议使用另一个陈述来说明这一点。像

else if ($("#sw").css("color") === "#FF0000") { 
         $("#sw").css("color", "#00FF00"); 
         } 

要么或使用您的基本报表或条件类似

if ($('#sw').css('color') === 'rgb(255, 0, 0)')||($("#sw").css("color") === "#FF0000") { 
        $("#sw").css("color", "rgb(0, 0, 255)"); 
        } 

我想象它在Firefox,因为Firefox将会但是Chrome商店的CSS颜色属性,但是你指定它,将标准化为RGB值,虽然我可能是错误的

此外,您可能可以通过使用straigt JavaScript更高效。是这样的:How to get the background color of an element using javascript?

相关问题:

Jquery if then statement for css value

How to get hex color value rather than RGB value?

+0

字符串引用中存在某些错误,例如“代替”,它在google chrome中有效,但在Internet Explorer中没有。 –

+0

根据您的建议,字符串返回RGB值而不是颜色本身,因此许多语言为什么使用颜色名称的RGB值? –

+0

是的,如果你看看关于将RGB转换为十六进制的问题,IE会返回一个十六进制值,所以你需要考虑这个问题 –

相关问题