2011-08-12 19 views
6

Son zamanlarda, IE için IE9'da ve ayrıca Safari 5 için önizleme yapıldığında güzel bir efekt gördüm. Arama kutusuna enter tuşuna bastığınızda, arama kutusu sayfanın üst kısmına doğru güzel bir şekilde hareket eder ve Sonuçlar alttan katlanır. Burada görebiliyorsunuz ... http://www.youtube.com/watch?v=NYuLALX6aeI#at=69HTML5 bing gibi temiz içerik geçişleri

Sorum şu: Bu nasıl yapılır ve bunu nasıl yapabilirim? Umarım sorumu anlayabilirsiniz.

+0

Tüm CSS3 animasyon – Mohsen

+1

Bırak keman olan sizin – Mohsen

+0

için çok basit tek Yani diğer tarayıcı aynı ve şeyler yapabiliriz, IE9 yapmanız gerekir izlenimi, muhtemelen daha iyi vermek için tipik Microsoft hile olduğunu. – Rob

cevap

5

Temel fikir:

JQuery:

$('#go').click(function() { 
    $('#form').animate({ 
     'height': '80px', 
     'text-indent': '50px', 
     'padding-top':'20px' 
    }, { 
     queue: false, 
     duration: 1500, 
     complete:function(){ 
      $('html,body').css('overflow-y','visible'); 
     } 
    }); 
    $('#results').show({ 
     type: 'slide', 
     direction: 'up' 
    }, { 
     queue: false, 
     duration: 1500 
    }); 
}); 

CSS:

#form { 
    background-color:blue; 
    text-indent:300px; 
    width:100%; 
    height:100%; 
    padding-top:200px; 
} 

#results { 
    background-color:yellow; 
    display:none; 
    height:700px; 
} 
body, html { 
    width:100%; 
    height:100%; 
    overflow:hidden; 
} 

HTML:

<div id="form"> 
    <input type="text" /> 
    <input type="button" id="go" value="go" /> 
</div> 
<div id="results">Search results</div> 

Demo: Hepsi CSS3 animasyon kullanan http://jsfiddle.net/AlienWebguy/hwAtU/

+2

'süresi: 1500’in 1500 milisaniye veya" bir buçuk saniye "anlamına gelir. Animasyonun 1 saniye sürmesini istiyorsanız, 'süresi: 1000', yarım saniye = 'süresi: 500' ve – AlienWebguy

1

. Animasyon here ile çok basit bir arama kutusu açıldım Lütfen Chrome veya Safari'yi kullanın. Sadece bir şey yazın ve enter tuşuna basın.

CSS

body{text-align:center; padding: 200px 0;-webkit-transition: all 0.4s linear;} 
#search{-webkit-transition: all 0.2s linear;} 
#search:focus{-webkit-transform:scale(1.4);} 

HTML

<input type="search" placeholder="Search..." id="search"/> 

JS: konumlandırma ve animasyon için Javascript Kullanma

document.getElementById('search').addEventListener('keydown', function(e){ 
    if(e.keyCode == 13){document.body.style.padding = "40px";} 
}, false); 

anlamsal kodu değil. CSS animasyonu çok daha hızlı ve pürüzsüz.

+0

’u koyabilirsiniz, böylece kemanınız IE ** ve ** firefox’a karşı önyargılı mı? – Maverick

+0

, eğer isterseniz -moz- ve -ms- ile güncelleyebilirsiniz. IE'den gerçekten nefret ediyorum! – Mohsen

+1

Daha iyi bir nispi terimdir. Alien'in cevabı daha ölçeklenebilir ve sağlamdır. @ Mohsen'in cevabı hepimizin ne olduğuydı * yerine * yaptık ama İnternet oldukça hazır değil. Bir intranet uygulaması oluşturuyorsanız ve tarayıcınız önceden belirlenmiş ve sabit ise, CSS3'e gidin. JQuery'nin basitçe animasyondan çok daha fazlasını yaptığını unutmayın. Günlüğe kaydetme çağrılarını tetiklemek için Alien'in çözümünü kullanabilir, arama sonuçları div'ini AJAX nüfuslu * arama sonucu * ve çok daha fazlası ile doldurabilirsiniz. Gerçekten anlayışlı bir web geliştiricisi hem bu fikirleri kullanırdı :) – Maverick