下面代码是文字闪烁的,在IE6下面IE7下面是正常的。但是FIREFOX下不行。。由于FIREFOX下document.all方法不支持,要用getElementById替换。但是具体我全部换上去时,出错了,,我估计是用法不对,,,,<form>
<input type="submit" value="闪烁" id="flashit">
</form>
if (document.all&&document.all.flashit){
var flashelement=document.all.flashit
if (flashelement.length==null)
flashelement[0]=document.all.flashit
function changecolor(which){
if (flashelement[which].style.color=='')
flashelement[which].style.color="red"
else
flashelement[which].style.color=""
}
if (flashelement.length==null)
setInterval("changecolor(0)",1000)
else
for (i=0;i<flashelement.length;i++){
var tempvariable='setInterval("changecolor('+i+')",'+'1000)'
eval(tempvariable)
}
}

解决方案 »

  1.   


    var flashelement=document.getElementsByTagName("input");
    if (flashelement.length==null) {
    flashelement[0]=document.getElementById("flashit");
    }
    function changecolor(which){
    if (flashelement[which].style.color=='') {
    flashelement[which].style.color="red";
    }
    else {
    flashelement[which].style.color="";
    }
    }
    if (flashelement.length==null) {
    setInterval("changecolor(0)",1000);
    }
    else {
    for (i=0;i<flashelement.length;i++){
    var tempvariable='setInterval("changecolor('+i+')",'+'1000)';
    eval(tempvariable);
    }
    }