2014-12-13 14 views
11

html sayfamdaki çeşitli div öğelerine CSS animasyonları ekledim.Ama tüm animasyonlar aynı anda çaldı & altta animasyonları göremiyorum Sayfayı aşağı kaydırırken onları nasıl oynatabilirim?CSS3-Görünüm öğeleri görünüm penceresinde görünürse (Sayfa Kaydırma)

+1

JS'yi kullanın ve bir öğe, o öğelere bir sınıf eklemek yerine Viewport * 'da * varsa. Bu sınıf CSS3 animasyonlarını tetiklemeli. –

cevap

19

Sen ** tetiğe sizin CSS3 geçiş/animasyon
eleman görüntü kapısında hale geldikten sonra JS veya jQuery kullanmanız gerekir. Bir öğe Görünüm girdiyseniz

jsFiddle demo - Using inViewport plugin

load, resize ve scroll olayları dinlerken olsun. Sahip CSS'nizde daha

<div class="box rotate"></div> 
<div class="box scale"></div> 
<div class="box translate"></div> 

: Diyelim ki gibi animasyon kutuları var diyelim (https://stackoverflow.com/a/26831113/383904)

:
Sen kurduğum küçük jQuery eklentisi kullanabilirsiniz

.box{ 
    width:300px; 
    height:300px; 
    margin:500px 50px; 
    background:red; 
    transition: 1.5s; /* THE DURATION */ 
} 

.rotate.triggeredCSS3 {transform : rotate(360deg); } 
.scale.triggeredCSS3  {transform : scale(1.6); } 
.translate.triggeredCSS3 {transform : translate3d(400px,0,0); } 

.triggeredCSS3, eklenti tarafından dinamik olarak atanacaktır:

$(".box").inViewport(function(px){ 
    if(px) $(this).addClass("triggeredCSS3") ; 
}); 
+0

Üzgünüz, yukarıdaki eklenti ile bir .js dosyası oluşturdum -> Bunu benim index.html dosyasına ekledim -> .css dosyasını, .example_animations'a .triggeredCSS3 ekleyerek düzenledim -> AMA artık animasyonların hiçbiri işe yaramaz! @Roko C. Buljan – Ajith

+0

@Ajith Sayfanızın başına ** jQuery eklentisi ** eklediniz mi? –

+1

Evet, eklentiyi ekledim – Ajith

İlgili konular