मैं अपने शीर्षलेख के लिए ज़ूम आउट प्रभाव, ज़ूम इन लोड करने और स्क्रॉल पर ज़ूम आउट करना चाहता हूं।ट्रांसफॉर्म का उपयोग करके स्क्रॉल पर स्क्रीन को कंपन करना: स्केल
मैं ट्रांसफॉर्म के साथ आकार बढ़ाने के लिए क्या करता हूं: स्केल (1.4) और स्क्रॉल पर मैं scrollTop और हेडर ऊंचाई से प्रतिशत का गणना करता हूं और मैं इसे 0.4 से गुणा करता हूं। समस्या यह है कि स्क्रॉल पर स्क्रीन कंपन करने के लिए शुरू होता है, पैमाने चिकनी नहीं है। क्या आपको पता है कि मेरे कोड में क्या गलत है या क्या आप मुझे बता सकते हैं कि इसे प्राप्त करने का सबसे अच्छा अभ्यास क्या है?
jQuery(document).ready(function(){
function zoom_out() {
var page_header_height = jQuery('#page-header-custom').outerHeight();
var scroll_top = jQuery(window).scrollTop();
var zoom_multiplier = 0.4;
var multiplier = (zoom_multiplier*(1-((scroll_top-jQuery('#page-header-custom').offset().top)/page_header_height))) > 1 ? 1 : (zoom_multiplier*(1-((scroll_top-jQuery('#page-header-custom').offset().top)/page_header_height)));
if(multiplier <= 1) {
jQuery('#page-header-inner').stop(true, true).transition({ scale: 1/(1+multiplier), translate: '0, -50%' });
jQuery('#page-header-custom').stop(true, true).transition({
scale: 1+multiplier
});
}
}
zoom_out();
jQuery(window).on('scroll', function(){
zoom_out();
});
});
मैंने इसे क्रिया में देखने के लिए JSFiddle बनाया है।
कृपया इस window.requestAnimationFrame का उपयोग करें; https://jsfiddle.net/8vb3kof9/3/ – yjs
यदि आप अपना कोड दोबारा लिखते हैं तो आप कुछ अतिरिक्त चिकनीता प्राप्त कर सकते हैं कुछ नोट्स: 'var header = jQuery (' # पेज-हेडर-कस्टम ') डालें; 'और' var header_inner = jQuery ('# पेज-हेडर-इनर'); '' zoom_out' फ़ंक्शन के बाहर। यदि संभव हो तो jquery चयनों को 'zoom_out' fn के अंदर हटा दें। आपका 'page_header_height' हमेशा '800px' है। अक्सर फायरिंग फ़ंक्शन को अनुकूलित करने से आपको चिकनीता मिलती है। यदि यह पर्याप्त नहीं है तो आप [ग्रीन्सॉक] (http://greensock.com/gsap) पर एक नज़र डाल सकते हैं;) – sulest
आप ['window.requestAnimationFrame()'] (https: // डेवलपर] को देखना चाहेंगे। mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) इसे आसानी से संक्रमण और 'स्क्रॉल' ईवेंट हैंडलर ड्रॉप करने के लिए प्राप्त करने के लिए। – LuudJacobs