2013-07-16 91 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會返回一個十六進制值,所以你需要考慮這個問題 –

相關問題