页面都已经加载完了,但是鼠标在页面上移动一下,结果cpu暴涨。(有发生样式的改变)
这会不会跟css或者JavaScript有很大的关系?

解决方案 »

  1.   


    .tableResult tbody tr{
    /*background-color:expression(this.sectionRowIndex==0?"#0000ff":'#eff7ff,#ffffff'.split(',')[rowIndex%2]);*/
    background-color:expression('#eff7ff,#ffffff'.split(',')[rowIndex%2]);

    /*mouseover/mouseout等事件最好不要在css中用,因为它们会覆盖页面中定义的onmouseover/onmouseout等事件*/
    mouseover:expression(onmouseover=onmouseover_tableResult_tbody_tr);
    mouseout:expression(onmouseout=onmouseout_tableResult_tbody_tr);
    }function onmouseover_tableResult_tbody_td(){this.style.backgroundColor="#B2E5FC"}
    function onmouseout_tableResult_tbody_td(){this.style.backgroundColor='#eff7ff,#ffffff'.split(',')[this.parentNode.rowIndex%2]}
    感觉问题主要出在这里,就是说控制表格行的颜色。但是现在还不知道应该怎么修改
      

  2.   

    你的数据量大了。。加载的TR也就多了。。然后需要处理的CSS也跟着加多了。。建议样式直接写到TR里面。。不要用现在这种方式了。。不过。。数据量大的JSP文件打开本身就需要一段时间。。我曾经有过64M的HTML帐单文件。。直接打开。。练机器都死了。。
      

  3.   

    肯定是你的onmousemover引发的td的样式改变带来的资源的耗费,就想前面我用js对table利用冒泡法排序的时候一样,对表格的操作太多,又是行交换,又是样式改变什么的,那时候我用冒泡排序,40条记录还可以,多了就耗时很多,我认为你的情况和我的有点类似。
      

  4.   


    function onmouseover_tableResult_tbody_td(){this.style.backgroundColor="#B2E5FC"} function onmouseout_tableResult_tbody_td(){this.style.backgroundColor='#eff7ff,#ffffff'.split(',')[this.parentNode.rowIndex%2]}
    这个代码本身就有问题。用一个变量保存onmouseover时td原来的backgroundColor,然后改变这个td的backgroundColor。onmouseout的时候将backgroundColor置为原来变量保存的值就可以了。你现在这个方法 每次onmouseout都要重新写全部TD的背景色。这代码谁写的 这么2!
      

  5.   

    交叉颜色用css、js写一个就可以了,然后鼠标选中和鼠标离开焦点时,只针对该行颜色操作(让他变回原来的颜色就OK了),不要再遍历整个tr、td了,这样速度就快很多。
      

  6.   

    我已经把所有的onmouseover和onmouseout删除了。但是cpu还是很高
    对了   iframe对cpu的影响大吗?
      

  7.   

    我也觉得应该是没影响的,但是页面都已经加载完成了(我们页面用了好几个iframe),和后台并没有什么需要交互的,
    能影响cpu的应该就剩css和JavaScript了吧。
    我把所有onmouse事件都删除了,但是还是狂飙
      

  8.   

    1.将文件保存看看大小,使用软件查看一下流量(主要是response的)
    2.将代码逐句屏掉,找到问题地点(哈哈,麻烦,但很实惠啊)
    3.更换浏览器,或者更换机器看看,是否其他原因引起期望楼主成功解决问题,支持