2011-08-12 17 views
6

में साफ सामग्री संक्रमण हाल ही में मैंने आईई 9 के लिए बिंग में और सफारी 5 के लिए भी एक अच्छा प्रभाव देखा है। जब आप खोज बॉक्स पर एंटर दबाते हैं, तो खोज बॉक्स पेज के शीर्ष की तरफ बढ़ता है और परिणाम नीचे से गुना है। आप इसे यहां कार्रवाई में देख सकते हैं ... http://www.youtube.com/watch?v=NYuLALX6aeI#at=69एचटीएमएल 5 बिंग

मेरा सवाल है, यह कैसे किया जाता है और मैं यह कैसे कर सकता हूं? मुझे आशा है कि आप मेरे प्रश्न को समझ सकते हैं।

+0

यह सभी CSS3 एनीमेशन – Mohsen

+1

लेमेम आपके लिए एक बहुत ही सरल है – Mohsen

+0

यह सामान्य माइक्रोसॉफ्ट ट्रिकरी है जो आपको यह करने के लिए आईई 9 की आवश्यकता है, जबकि कोई अन्य ब्राउज़र ऐसा कर सकता है और शायद बेहतर है। – Rob

उत्तर

5

बुनियादी विचार:

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 
    }); 
}); 

सीएसएस:

#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> 

डेमो: http://jsfiddle.net/AlienWebguy/hwAtU/

+2

'अवधि: 1500' का मतलब है 1500 मिलीसेकंड, या" डेढ़ साल। " यदि आप एनीमेशन को 1 सेकंड लेना चाहते हैं, तो आप 'अवधि: 1000', आधे सेकेंड =' अवधि: 500' और – AlienWebguy

1

वे सभी CSS3 के एनीमेशन का उपयोग कर रहे हैं। मैंने एनीमेशन here के साथ एक बहुत ही सरल खोज बॉक्स को झुकाया कृपया क्रोम या सफारी का उपयोग करें। बस कुछ टाइप करें और एंटर दबाएं।

सीएसएस

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);} 

एचटीएमएल

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

जे एस:

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

स्थिति और एनीमेशन के लिए जावास्क्रिप्ट का उपयोग करना एक अर्थ कोड नहीं है। सीएसएस एनीमेशन रास्ता तेज़ और चिकना है।

+0

पर ठीक है, इसलिए ठीक है कि आपका फीड IE ** और ** फ़ायरफ़ॉक्स के विरुद्ध पक्षपातपूर्ण है? – Maverick

+0

यदि आप उन्हें पसंद करते हैं तो आप इसे -मोज़- और -ms- के साथ अपडेट कर सकते हैं। मैं वास्तव में आईई से नफरत करता हूँ! – Mohsen

+1

बेहतर एक सापेक्ष शब्द है। एलियन का जवाब अधिक स्केलेबल और मजबूत है। @ मोहसेन का जवाब यह है कि हम सभी * बल्कि * कर रहे हैं लेकिन इंटरनेट काफी तैयार नहीं है। यदि आप इंट्रानेट ऐप बना रहे हैं और आपका ब्राउज़र पूर्व-निर्धारित और स्थिर होगा, तो CSS3 के लिए जाएं। ध्यान रखें JQuery बस एनिमेट करने से कहीं ज्यादा है। लॉगिंग कॉलबैक ट्रिगर करने के लिए आप एलियन के समाधान का उपयोग कर सकते हैं, एक AJAX आबादी वाले * खोज परिणाम * के साथ खोज परिणाम div भरें और बहुत कुछ। वास्तव में समझदार वेब डेवलपर इन दोनों विचारों का उपयोग करेगा :) – Maverick