2012-10-01 19 views
5

Saklanmış bir gezinme çubuğuna sahip olmak istediğim bir sayfada çalışıyorum. Sadece Safari’de sorunla karşılaşıyorum, Chrome, FF, Opera, IE7 +’da sorun yok.JQuery Animate Jumpy Sadece Safari'de

Kayan animasyon Safari'de tamamlamak üzere olduğunda, bazı içeriğin kısa bir süre önce orijinal konumuna atlandığını görürsünüz ve sonra kaybolurlar. Bir süredir şanssızca araştırıyorum. Çoğu zaman dolgu veya kenar boşluğu gibi görünüyor, ancak sıfıra ayarlanmışlar ve iki CSS sıfırlamayı denedim. Bana şamandıralarla ilgili bir şeymiş gibi geliyor. Clear ile oynamayı denedim ama şans yok.

Here is a demo

Ve ilgili animasyonu:

$('#btnHide').click(function() { 
    $("#divNavContent").animate({ 
     width: 'toggle' 
    }, 1000, function() { 
     $("#divNavHidden").animate({ 
      width: 'toggle' 
     }, 500); 
    }); 

}); 

$('#btnShowMenu').click(function() { 
    $("#divNavHidden").animate({ 
     width: 'toggle' 
    }, 500, function() { 
     $("#divNavContent").animate({ 
      width: 'toggle' 
     }, 1000); 
    }); 
}); 
+0

Animasyonun hareket hızı özelliğini '' doğrusal '' olarak değiştirmeyi deneyin '' doğrusal '' – ahren

+0

Genişlik sadece animasyon sırasında ayarlanmış gibi görünüyor, daha sonra ekran hiçbiri olarak ayarlanmadı ve genişlik özelliği kaldırıldı, böylece orijinal css devraldı, Belki "geçiş" yerine durağan sayılar kullanmak daha iyi çalışır mı? – Trey

cevap

1

sorun #divLeft üzerinde float: left; nedeniyle oluşur Ama #divLeft şamandıra kaldırmak ve aynı yapıyı koruyabilirsiniz.

Ayrıca margin-left: 4px; değerini #content'a ekleyin, çünkü iki div, float'ı kaldırdığınızda biraz parlar.

Safari'deki bir hatadan daha fazlası gibi görünüyor ve sizin hatanız değil.

+0

Çok teşekkür ederim! İşe yaradı. – user1712697

İlgili konular