2011-01-14 76 views
1

我有一个div,当用户将鼠标悬停在链接上时,使用jquery下拉菜单。该div的CSS是在这里:在铬中的位置问题

.mask-layer { 
    height: 0; 
    overflow: visible; 
    position: relative; 
    top: 54px; 
    float: right; 
    z-index: 1000; 
} 
.slidedown { 
    height: auto; 
    width: 300px; 
    background: url(../images/bg_shopping_bag_span.png); background-repeat:repeat-y; 
    color: white; 
} 

Html只是在蒙版图层div内滑动div。出于某种原因,我无法在此发布任何尖括号以向您展示。

最后jQuery的:

jQuery(document).ready(function() { 
    jQuery('.slidedown').hide(); 
    jQuery('a.top-link-cart').hover(function() { 
     jQuery('.slidedown').stop(true, true).animate({ 
      height: ['toggle', 'swing'], 
     }, 600, function() {}); 
    }, function() { 
     jQuery('.slidedown').mouseout(function() { 
      setTimeout(function() { 
       jQuery('.slidedown').stop(true, true).animate({ 
        height: '0px' 
       }, 600, function() {}); 
      }, 200); 
     }); 
    }); 
}); 

下拉在Internet Explorer和Firefox效果很好。但是,在Chrome中,下滑div出现在页面上的错误位置。它出现在屏幕边缘的所有其他div上。有没有办法来解决这个问题?我应该提及,当我禁用jquery,以便div不隐藏并且不动画时,即使在chrome中它也处于正确的位置。所以也许这是jQuery的问题?感谢您的任何建议。

+0

如何重现bug的链接?一个活页面或类似http://jsfiddle.net会很有帮助。 – 2011-01-14 16:39:52

回答

0

如果您从.mask-layer中删除float: right,它会工作吗?

如果是的话,可以尝试在clear: both.slidedown

+0

删除浮动:正确并添加清除:两者都是改进。现在div滑落,但在页面的最左侧(在父应用程序中,它应该是这样),这很好。我应该如何定位.mask层如果我不能使用float:对吗?也许在mask div中使用绝对位置?它需要放在父div的最右侧。 :) – user1448260 2011-01-14 16:50:33