我正在编写一些 javascript 代码来使一些文本闪烁,但它不会工作。
function start_blink(elementId) {
//var red = "#ff0000";
//var white = "#000000";
var element = document.getElementById(elementId);
element.style.color == 'red';
if(document.getElementById) {
element.style.color = (element.style.color == 'red') ? 'white' : 'red';
//document.write(element.style.color);
blinkIntervalID = setInterval(start_blink, 1000, elementId);
}
}
它只会变红,不会变白,这意味着
element.style.color == 'red'
总是返回 false。
为什么会这样?
最佳答案
首先这是错误的:
element.style.color == 'red'
应该只是“=”。正如您所写的那样,这将被评估为相等性测试,返回 true 或 false。
此外,检查 element.style.color
实际返回的内容,它可能不是“红色”或“白色”,而是 rgb
或 hex
代码并且可能依赖于浏览器。
第三,您对 setInterval 的使用是错误的。参见 here有关如何使用它的详细信息。你可能是说 setTimeout :
setTimeout(function() { start_blink(elementId); }, 1000);
关于javascript - html element.style.color 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7077939/