zepto

2012-09-05 5 views
9

में स्लाइडडाउन() जैसे jquery को कार्यान्वित करने के लिए मैं अपनी मोबाइल वेबसाइट के लिए zepto लाइब्रेरी का उपयोग कर रहा हूं। मैंने हाल ही में सीखा है कि zepto में jquery जैसे slideDown() प्लगइन नहीं है। मैं ज़ेप्टो के लिए इसे लागू करना चाहता हूं।zepto

मैंने jsfiddle (http://jsfiddle.net/goje87/keHMp/1/) पर एक की कोशिश की है। यहां तत्व दिखाते समय यह एनिमेट नहीं होता है। यह सिर्फ नीचे चमकती है। मैं एनीमेशन कैसे लाऊं?

पीएस: मैं एक निश्चित ऊंचाई प्रदान नहीं कर सकता क्योंकि मैं इस प्लगइन को उन तत्वों पर लागू कर रहा हूं जिनकी ऊंचाई संपत्ति ज्ञात नहीं होगी।

सलाह में धन्यवाद !!

उत्तर

18

डेमो: http://jsfiddle.net/6zkSX/5

जावास्क्रिप्ट:

(function ($) { 
    $.fn.slideDown = function (duration) {  
    // get old position to restore it then 
    var position = this.css('position'); 

    // show element if it is hidden (it is needed if display is none) 
    this.show(); 

    // place it so it displays as usually but hidden 
    this.css({ 
     position: 'absolute', 
     visibility: 'hidden' 
    }); 

    // get naturally height 
    var height = this.height(); 

    // set initial css for animation 
    this.css({ 
     position: position, 
     visibility: 'visible', 
     overflow: 'hidden', 
     height: 0 
    }); 

    // animate to gotten height 
    this.animate({ 
     height: height 
    }, duration); 
    }; 
})(Zepto); 

$(function() { 
    $('.slide-trigger').on('click', function() { 
    $('.slide').slideDown(2000); 
    }); 
});​ 
​ 
+0

कूल !! यह बहुत अच्छा काम करता है ... धन्यवाद @Speransky – Goje87

+0

+1 उदाहरण के उदाहरण के लिए, बहुत अच्छा! – iamwhitebox

5

यह मेरे लिए काम किया:

https://github.com/Ilycite/zepto-slide-transition

zepto स्लाइड संक्रमण प्लगइन bellow कार्यों Zepto.js में जोड़ें:

स्लाइडडाउन();

स्लाइडअप();

स्लाइड टॉगल();

+0

यह एक बेहतर कार्यान्वयन है –

+1

404 नहीं मिला :( – andreszs

+0

नवीनतम उपलब्ध स्रोत https://github.com/NinjaBCN/zepto-slide-transition – Feuda

1

Speransky के जवाब मददगार था, और मैं एक आम ड्रॉप-डाउन नेविगेशन सूची के लिए एक सरल विकल्प की पेशकश कर रहा हूँ, और jsfiddle पर slideUp और slideDown में विभाजित: http://jsfiddle.net/kUG3U/1/

$.fn.slideDown = function (duration) { 
    // show element if it is hidden (it is needed if display is none) 
    this.show(); 

    // get naturally height 
    var height = this.height(); 

    // set initial css for animation 
    this.css({ 
     height: 0 
    }); 

    // animate to gotten height 
    this.animate({ 
     height: height 
    }, duration); 
}; 
+1

बस एक छोटा सा फिक्स: अगर तत्व को लंबवत पैडिंग है, तो पहले कॉल के बाद ऊंचाई की गणना गलत तरीके से की जाती है, जिसके परिणामस्वरूप एक बड़ी वस्तु होती है। इसे रोकने के लिए, 'var height = this.height() - parseInt (this.css (' पैडिंग-टॉप ')) - parseInt (this.css (' पैडिंग -बॉटम '); ' – andreszs

0

यह वही है के लिए काम करेंगे आपको चाहिए: https://github.com/NinjaBCN/zepto-slide-transition

+0

यह टिप्पणी होगी, आप निर्दिष्ट प्रतिष्ठा के साथ किसी भी पोस्ट पर टिप्पणी कर सकते हैं – theLazyFinder