这个就是表格移上去当前行高亮显示的效果。
效果可以实现,但是firebug老报错。
- JScript code
<script> var highlightcolor = '#c1ebff'; var clickcolor = '#51b2f6'; function changeto() { source = event.srcElement; if (source.tagName == "TR" || source.tagName == "TABLE") return; while (source.tagName != "TD") source = source.parentElement; source = source.parentElement; cs = source.children; //alert(cs.length); if (cs[1].style.backgroundColor != highlightcolor && source.id != "nc" && cs[1].style.backgroundColor != clickcolor) for (i = 0; i < cs.length; i++) { cs[i].style.backgroundColor = highlightcolor; } } function changeback() { if (event.fromElement.contains(event.toElement) || source.contains(event.toElement) || source.id == "nc") return if (event.toElement!=source&&cs[1].style.backgroundColor!=clickcolor) //source.style.backgroundColor=originalcolor for(i=0;i<cs.length;i++){ cs[i].style.backgroundColor=""; } } function clickto(){ source=event.srcElement; if (source.tagName=="TR"||source.tagName=="TABLE") return; while(source.tagName!="TD") source=source.parentElement; source=source.parentElement; cs = source.children; //alert(cs.length); if (cs[1].style.backgroundColor!=clickcolor&&source.id!="nc") for(i=0;i<cs.length;i++){ cs[i].style.backgroundColor=clickcolor; } else for(i=0;i<cs.length;i++){ cs[i].style.backgroundColor=""; } } </script>
------解决方案--------------------
event 在w3c 标准下,只有在触发事件的瞬间才有效!!
// 这样才兼容
document.onclick=function(e){e=e||event;};