opera下mouseover事件div边框显示不完全!
本帖最后由 yiqiang1314 于 2011-02-16 11:43:20 编辑
如图,未把鼠标以上去的时候是这样的:
在opera中把鼠标移上去后是这样:
而在其他浏览器,如ff,IE,safari,谷歌里面都是这样:
如果开始不隐藏div,在opera中是可以正常显出边框,但把鼠标放上去,移开,再放上去就又出现问题了。
我是先把div输出出来,其 class="faces people_head",然后通过一下js代码设置相关事件:
//图片人像框鼠标进入和移出事件
$(".people_head").each(function()
{
//$(this).css("border","hidden");
$(this).mouseenter(function()
{
$(this).css({"border":"solid","border-color":"#FFFFFF","border-width":"1px"});
});
$(this).mouseleave(function()
{
$(this).css("border","none");
});
});
//--
检查了好久,开始怀疑过是不是缓存的问题,但悲剧的是opera中竟没有清楚缓存的按钮,发现的只是删除私人数据,而删了之后还要重启浏览器,我晕。。最后想想,缓存也不至于只存了div下面一部分边框的数据吧。这就太离谱了。。
最后终于没辙了,虽然还可以参考人人网一样使用display:none属性,但其代价有点高,需要随时监听鼠标坐标,最代码的改动比较大。而最重要的是,我实在是想不通,问题到底在哪里??还请有兴趣的朋友一起来探讨一下。。
------解决方案--------------------lz的图已挂,看不到效果,
我之前也遇到类似的效果:一个inline元素中放置了一个block元素,然后监听inline元素的mouseover事件,来控制block元素的隐藏和显示,如果开始就隐藏的话,后来显示它的bottom-border就莫名的消失了。
------解决方案--------------------代码不全。
把圆挪到不相交的位置,应该就好了吧。
而且发现OPERA的圆缩水了,象是用椭圆画的。试着检测一下浏览器,对OPERA的圆加大些看看。
要不把代码都贴出来。