2010-04-28 26 views
1

您能否向我解釋爲什麼下面的代碼在Chrome和Safari中無法使用,但只能在Firefox中使用?jQuery:顏色變化不適用於Chrome和Safari

if ($(this).css("color") == "Fuchsia"){ $(this).css("color","#000000"); } 

這是鏈接:

http://www.sanstitre.ch/drupal/portfolio?tid[0]=38

如果滾動向下和向上,你會看到「永恆之旅」變成紫色和黑色再次,因爲它不再被選中。 (使用FIrefox)

使用Chrome和Safari時,它仍然是黑色。

+1

嘗試拼寫它小寫:紫紅色。 – powtac 2010-04-28 10:23:20

+0

我認爲它與滾動有關。嘗試改變其他事件的顏色... – powtac 2010-04-28 10:26:40

+0

@powtac發佈您的答案在下面,我們可以upvote它。 (加上作者可以接受它) – 2010-04-28 10:39:10

回答

0

嘗試拼寫小寫:紫紅色。

0

我會跟蹤什麼返回$(this).color()看到,但我會說主要問題是,鉻/ safari都返回hex code,所以與string比較不起作用。

嘗試將其與#FF00FF進行比較。

0

試試這個

if ($(*).css("color") == "fuchsia"){ $(this).css("color","#000000"); } 
+0

我會避免這一點。循環瀏覽頁面上的每個元素並不是一個好主意 – iBiryukov 2010-04-28 10:31:40

0

function toggleNotesStyle(obj) { 

    var currentColor = rgb2hex(jQuery(obj).css('color')); 

    if (currentColor == '#000000') { // if black, change to red 
     jQuery(obj).css('color', '#ff0000'); 
    } 
    else { // if a different color (red in our case), change to black 
     jQuery(obj).css('color', '#000000'); 
    } 
} 

function rgb2hex(rgb) { 
    if (/^#[0-9a-f]{3}([0-9a-f]{3})?$/i.test(rgb)) { 
     // matches on IE hex color (ie: #000000) .. and no pun intended for "ie" 
     return rgb; 
    } 
    // changes "rgb(#,#,#)' to hex for Mozilla, Chrome and Safari 
     rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); 
    // found this on another site, but don't know why it's different 
    //rgb = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+))?\)$/); 
    return "#" + 
     ("0" + parseInt(rgb[1], 10).toString(16)).slice(-2) + 
     ("0" + parseInt(rgb[2], 10).toString(16)).slice(-2) + 
     ("0" + parseInt(rgb[3], 10).toString(16)).slice(-2); 
} 

var timer; 
toggleTimer(); 

function toggleTimer() 
{ 
    if (document.getElementById("<%=fullDataEntryNotes.ClientID%>")) { 
     var fullDataEntryNotes = document.getElementById("<%=fullDataEntryNotes.ClientID %>"); 
     toggleNotesStyle(fullDataEntryNotes); 
    } 

    timer = window.setTimeout('toggleTimer()', 750); 
} 

的HTML代碼打破我的職位,所以我會解釋的HTML是什麼在這裏。製作一個div標籤,並在其中放置文本。然後設定div標籤的樣式,使其初始具有#000000(黑色)的style.color屬性。然後每750毫秒,它會從黑色切換到紅色,從黑色切換到紅色等。

相關問題