小弟刚失业,好不容易到了这个地方,老板的让我修改网站的代码。
有些细节的问题我认为没有关系,但是老板好像是个完美主义者。
现在让老板抓狂的是这个网页(彩票走势图):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
}
);
有些细节的问题我认为没有关系,但是老板好像是个完美主义者。
现在让老板抓狂的是这个网页(彩票走势图):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
}
);
如果是的话应该是边界值出了问题
建议: && i > 0 修改为 : && i >= 0
图片加载的问题
例如: 你点了1号,以后1号点1号就不出现这个问题
但是你没有点过2号,第一次点2号的时候 就出现这个问题了
看来要控制图片加载时 鼠标的cursor
ie6的有些邊距比較特殊,有差異的話就會頁面調動。如果是1px就是抖動了
地址在http://www.lotto777.cn/lotto/index.htm
因此在td移动的时候会感觉在闪。
把 style="cursor: pointer;" 这个语句加到<table>中
就可以了。
原来是CSS中针对每个表格的背景backgroundImage=url(../img/redball.gif)
我改成backgroundImage=url(redball.gif) 把图片和html换到同一个目录下 就不会闪烁了
其他的浏览器都没有问题。我在opera,firefox,safiri,ie7,ie8测试都没有问题,就IE6有问题。
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]–>
经测试,解决方法确实有效
我的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);
}