日期:2014-05-17  浏览次数:20655 次

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的圆加大些看看。

要不把代码都贴出来。