我写了个图片轮播的js代码,单独demo时很好用,火狐,ie都好用。但一插入整个页面,火狐开始还正常,但ie上轮播却变的很慢,而火狐虽然开始好用,很正常,但过一段时间也变得很慢,好像有卡死的感觉,感觉是内存泄露,但用工具测了,并没有泄露呀,请帮我分析分析,因为什么原因呀,谢谢

解决方案 »

  1.   

    查一下 setTimeout()语句,可以改成
    1. 定义全局变量tid
    2. setTimeout()改成
    clearTimeout(tid);
    tid = setTimeout(....);试试看
      

  2.   

    没用setTimeOut,用的是setInterval,刚才测了一下,在ie6,ie7下好用,但就ie8下不好用,非常慢,但把代码从页面单独剔出来,却没有问题,页面上面是用div写的,下面使用table写的,没改完,是不是因为这的原因。郁闷呀,这问题我完全无从下手
      

  3.   

    如果多次调用setInterval,一样这样处理.
      

  4.   

    我看不是这个原因,我在要结束循环的时候都clear了,而且,每次循环一次,就clear了一次,其实就是把它当settimeout用了,郁闷,不知道等美工把下面的代码也改成div+css,是不是会好,ie8,晕
      

  5.   

    你页面多少行HTML?页面大的话同样会这样
      

  6.   


    原来是TABLE布局?
    你滚动鼠标滚轴或者浏览器的滚动条是否也会出现卡的现象?
      

  7.   


    那样不卡,火狐,ie6,ie7都好用,就ie8不好用,但在ie8单独用就好用,而且全是table布局的也好用,就这当到前面是div的,后面是table就不好用了,我就疯了