Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery:color change不';不要使用Chrome和Safari_Jquery_Css_Webkit - Fatal编程技术网

jQuery:color change不';不要使用Chrome和Safari

jQuery:color change不';不要使用Chrome和Safari,jquery,css,webkit,Jquery,Css,Webkit,你能解释一下为什么下面的代码不能在Chrome和Safari中使用,而只能在Firefox中使用吗 if ($(this).css("color") == "Fuchsia"){ $(this).css("color","#000000"); } 这是链接: 如果你上下滚动,你会看到“永恒之旅”再次变成紫色和黑色,因为它不再被选中。(使用FIrefox) Chrome和Safari仍然是黑色的。我将跟踪返回的$(this).color()并查看,但我想说的是,主要问题是,Chrome/Saf

你能解释一下为什么下面的代码不能在Chrome和Safari中使用,而只能在Firefox中使用吗

if ($(this).css("color") == "Fuchsia"){ $(this).css("color","#000000"); }
这是链接:

如果你上下滚动,你会看到“永恒之旅”再次变成紫色和黑色,因为它不再被选中。(使用FIrefox)


Chrome和Safari仍然是黑色的。

我将跟踪返回的
$(this).color()
并查看,但我想说的是,主要问题是,Chrome/Safari都返回
十六进制代码,因此与
字符串进行比较是行不通的

试着将其与
#FF00FF

进行比较,试试这个

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

试着用小写字母拼写:fuchsia。

    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);
}
函数TogglenotessStyle(obj){
var currentColor=rgb2hex(jQuery(obj).css('color');
如果(currentColor='#000000'){//如果是黑色,则更改为红色
jQuery(obj).css('color','#ff0000');
}
否则{//如果颜色不同(本例中为红色),请改为黑色
jQuery(obj).css('color','#000000');
}
}
函数rgb2hex(rgb){
如果(/^#[0-9a-f]{3}([0-9a-f]{3})?$/i.test(rgb)){
//与IE十六进制颜色匹配(IE:#000000)…并且没有“IE”的双关语
返回rgb;
}
//将Mozilla、Chrome和Safari的“rgb(#、#、#)更改为十六进制
rgb=rgb.match(/^rgb\(\d+)\s*(\d+)\s*(\d+)$/);
//在另一个网站上发现了这个,但不知道为什么不同
//rgb=rgb.match(/^rgba?\(\d+),\s*(\d+),\s*(\d+),\s*(\d+)$/);
返回“#”+
(“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);
}
无功定时器;
切换定时器();
函数toggleTimer()
{
if(document.getElementById(“”){
var fullDataEntryNotes=document.getElementById(“”);
TogglenotessStyle(fullDataEntryNotes);
}
timer=window.setTimeout('toggleTimer()',750);
}

HTML代码打断了我的文章,因此我将在这里解释HTML中的内容。制作一个div标记,并在其中添加文本。然后设置div标记的样式,使其具有#000000(黑色)的style.color属性最初。然后每750毫秒,它就会从黑色变为红色变为黑色变为红色,等等。

试着用小写字母拼写:fuchsia。我认为这与滚动有关。试着在其他事件上更改颜色…@powtac将你的答案发布到下面,我们可以在下面投票。(另外,作者可以接受)我会避免这种情况。循环浏览页面上的每个元素不是一个好主意