2011-01-14 18 views
1

Ich habe ein div, das mit jquery ablegt, wenn ein Benutzer über einen Link mouses. Die CSS für das div ist hier:div Position Problem in Chrom

.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 ist einfach die slidedown div in der Maske-Schicht div. Aus irgendeinem Grund kann ich hier keine Winkel-Brackers posten, um es dir zu zeigen.

Und schließlich die 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); 
     }); 
    }); 
}); 

Der Rückgang arbeitet gut an in Internet Explorer und Firefox. In Chrome erscheint jedoch das Diver-Divert-Element an der falschen Position auf der Seite. Es erscheint außerhalb aller anderen divs auf der Seite am Bildschirmrand. Gibt es eine Möglichkeit, das zu beheben? Ich sollte erwähnen, wenn ich die Jquery deaktivieren, so dass das div nicht versteckt und nicht animiert ist, ist es in der richtigen Position auch in Chrom. Vielleicht ist das also ein Problem von jquery? Danke für jeden Hinweis.

+0

Wie über einen Repro Link setzen? Entweder eine Live-Seite oder etwas wie http://jsfiddle.net wird sehr hilfreich sein. –

Antwort

0

Funktioniert es, wenn Sie die float: right aus der .mask-layer entfernen?

Wenn ja, versuchen clear: both in .slidedown

+0

Float entfernen: rechts und hinzufügen klar: beides ist eine Verbesserung. Jetzt gleitet das div nach unten, aber ganz links auf der Seite (innerhalb der Eltern-Div wie es sollte) was gut ist. Wie sollte ich .mask-layer positionieren, wenn ich float nicht verwenden kann: richtig? Vielleicht mit absoluter Position in der Maske div? Es muss auf der rechten Seite des übergeordneten div nach unten fallen. :) – user1448260

+0

Ich denke, muss absolute Position verwenden, rechts: 0px, dann oben: 100px, um es an den richtigen Ort zu bekommen. Ich bevorzuge es nicht die absolute Position zu verwenden, aber es ist relativ zum Elternteil und nicht zum Browserfenster, also sollte es gut sein, denke ich. – user1448260