jQuery:color change不';不要使用Chrome和Safari
你能解释一下为什么下面的代码不能在Chrome和Safari中使用,而只能在Firefox中使用吗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
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将你的答案发布到下面,我们可以在下面投票。(另外,作者可以接受)我会避免这种情况。循环浏览页面上的每个元素不是一个好主意