小弟刚失业,好不容易到了这个地方,老板的让我修改网站的代码。
有些细节的问题我认为没有关系,但是老板好像是个完美主义者。
现在让老板抓狂的是这个网页(彩票走势图):http://fx.cp2y.com/analyse/no.jsp?lID=10088
这个网页拉到下面有选填“预选号”的区域,就是鼠标按一下,选中的球就会加亮。加亮的方式是替换表格中单元格的背景。我现在的新版本用jQuery的toggle函数来做。但是这个和这张网页一样,都有个同样的问题:鼠标点上去的时候,会闪烁(只在IE6上出现),就是鼠标的图标我原来是设置为cursor: pointer的,好像这过程中被修改了,后来又恢复回来了。老板的意思就是,做到ie6也不闪烁。
我要抓狂了,请各位朋友想想办法,我参考了其他公司做的走势图http://www.kaijianghao.com/lt/jb.html,他们都能做到不闪烁。
请问他们怎么做到的?
我的部分代码: td.toggle(
function(){
if( i <= 35 && i > 0)
{
this.innerHTML = i;
td.addClass("redball");
}
else if (i > 35)
{
this.innerHTML = i - 35;
td.addClass("blueball");
}
window.event.cancelBubble=true
},
function(){
if( i <= 35 && i > 0)
{
this.innerHTML = " ";
td.removeClass("redball");
}
else if (i > 35)
{
this.innerHTML = " ";
td.removeClass("blueball");
}
window.event.cancelBubble=true
}
);

解决方案 »

  1.   

    我这边看不到明显的闪烁不过,在图片最下边的部分,貌似方格间切换会有一点点鼠标形状变换,不知道你说的是不是这个问题
    如果是的话应该是边界值出了问题
    建议: && i > 0 修改为 : && i >= 0
      

  2.   

    我这里也没有问题。如果出现闪烁,我觉得和js没有关系,根源在于html页面布局不稳定!
      

  3.   

    哦 我知道什么原因了
    图片加载的问题
    例如: 你点了1号,以后1号点1号就不出现这个问题
    但是你没有点过2号,第一次点2号的时候 就出现这个问题了
    看来要控制图片加载时 鼠标的cursor
      

  4.   

    樣式問題
    ie6的有些邊距比較特殊,有差異的話就會頁面調動。如果是1px就是抖動了
      

  5.   

    谢谢各位。我重新做了一个,这次在IE6上闪烁更加明显了。请高人帮我看看啊。分不够,再加!
    地址在http://www.lotto777.cn/lotto/index.htm
      

  6.   

    有的 td设置为光标,有的没有设置,
    因此在td移动的时候会感觉在闪。
    把  style="cursor: pointer;" 这个语句加到<table>中
    就可以了。
      

  7.   

    问题还是我自己解决了。是IE6的问题。
    原来是CSS中针对每个表格的背景backgroundImage=url(../img/redball.gif)
    我改成backgroundImage=url(redball.gif) 把图片和html换到同一个目录下 就不会闪烁了
    其他的浏览器都没有问题。我在opera,firefox,safiri,ie7,ie8测试都没有问题,就IE6有问题。
      

  8.   

    刚才又试了一下,问题还没有解决。不过努力在网上找了之后,终于发现了最终的解决方案。现在已经完全解决了。

    IE6默认不缓存背景图片,引起鼠标抖动的解决方法
    01月 17, 2009在IE6下,如果拖动的DOM元素使用了背景图,在Drag的过程中会出现严重的鼠标抖动现象.在网上查了下,说是因为:IE6下默认不缓存背景图片,CSS里每次更改图片的位置时都会重新发起请求.可用下方法来解决(让IE6缓存背景图片):在head区(即<head>到</head>之间添加以下代码:
    复制内容到剪贴板
    代码:
    <!–[if lt IE 7]>
    <script type=”text/javascript”>
    document.execCommand(”BackgroundImageCache”, false, true);
    </script>
    <![endif]–>
    经测试,解决方法确实有效
      

  9.   

    我也是这样的,如何解决的啊。
    我的javascript代码:/**
     * Div Tabs When onmouseover
     *
     * @example  <a href="#" target="_blank" id="a1" onmousemove="Tabs()"></a>
     *
    <ul>
    <li><a id="yydt1" onmousemove="Tabs(1,3,'yydt')" class="on" href="/A" target="_blank">A</a></li>
    <li><a id="yydt2" onmousemove="Tabs(2,3,'yydt')" href="/B" target="_blank">B</a></li>
    <li><a id="yydt3" onmousemove="Tabs(3,3,'yydt')" href="/C/C" target="_blank">C</a></li>
    <li><a id="yydt4" onmousemove="Tabs(4,3,'yydt')" href="/D" target="_blank">D</a></li>
    </ul>
     *
     */
    function Tabs(currid,len,idprefix,this_css,div_css){
      this_css = this_css || "on";
      div_css = div_css || "hide";
      for(var i=1;i <= len;i++){
        $("#" + idprefix + i ).removeClass(this_css);
        $("#_"+ idprefix + i ).addClass(div_css);
        }
      $("#" + idprefix + currid).addClass(this_css);
      $("#_"+ idprefix + currid).removeClass(div_css);
      }