Mam następujący fragment kodu, który przełącza wyściółkę po najechaniu (patrz przykład here):jQuery Animacja wyściółka Zero
<div id="outer"><div id="inner"></div></div>
<script>
$("#inner").mouseenter(function() {
$("#outer").animate({ 'padding' : '20px' }, "slow");
});
$("#inner").mouseleave(function() {
$("#outer").animate({ 'padding' : '0px' }, "slow");
});
</script>
Celem jest mieć wyściółka animować zarówno wewnątrz jak i na zewnątrz, jednak obecnie nie pojawia się animacja dla animowanie. Zrobiłem kilka testów, a jeśli zmienię padding na 10 pikseli (z 0 pikseli), uruchamia animację, ale zaczyna się od zera i animuje na zewnątrz. Używam jQuery 1.4.3. Jakikolwiek sposób to naprawić?
Nie jesteś pewien, co się dzieje, ale zamiast animować atrybut 'margin' zamiast wewnętrznego elementu? –
@Freek, nie, jeśli zewnętrzny div ma zdefiniowane wymiary .. to popchnie wewnętrzną lewą/górną, ale pęknie poza zewnętrzną, ponieważ zewnętrzna nie może się rozwinąć ze względu na zdefiniowane wymiary .. –
@Potrafię zrobić punkt :) –