के साथ विभिन्न वर्गों के लिए jQuery स्क्रिप्ट चिकनी स्क्रॉल मैं अपनी एक पेज साइट के लिए एक चिकनी स्क्रॉल स्क्रिप्ट का उपयोग कर रहा हूं। यह प्रत्येक एंकर पर स्क्रॉल करता है।एक अलग ऑफसेट
डिज़ाइन के कारण, मेरे पास सीधे पृष्ठ के शीर्ष पर एंकर स्नैप नहीं हो सकता है। मुझे छिपे हुए एंकर बनाना पड़ता है जो पेज को आगे बढ़ाते हैं, इसलिए यह बिल्कुल शीर्ष पर नहीं आ जाता है।
jQuery(document).ready(function($) {
$(".scroll").click(function(event){
event.preventDefault();
$('html,body').animate({
scrollTop: $('[name="' + this.hash.substring(1) + '"]').offset().top
}, 500);
});
});
मैं सूचित किया गया है कि मैं ऑफसेट इस स्क्रिप्ट के भीतर ऐसा कर सकते हैं:
यहाँ स्क्रिप्ट मैं वर्तमान में उपयोग कर रहा हूँ है। इन छोटे छिपे हुए एंकरों को हर जगह रखने के बजाय, मैं बस कुछ निश्चित पिक्सेल द्वारा ऑफसेट करने के लिए शीर्ष के अंत में कुछ जोड़ सकता हूं। यह शीर्ष होगा - 250
$('html,body').animate({
scrollTop:$('[name="' + this.hash.substring(1) + '"]').offset().top - 250
}, 500);
समस्या यह होगा है ऑफसेट हमेशा 250px हो, मैं इसे चर करने की आवश्यकता है ताकि उदाहरण के लिए, पोर्टफोलियो div एक 200px की भरपाई के साथ लंगर डाले जा सकता है लेकिन केवल 50px से संपर्क div।
क्या कोई मुझे स्क्रिप्ट में किसी प्रकार का चयनकर्ता लिखने में मदद कर सकता है जो मुझे इस शीर्ष - [परिवर्तनीय] को समायोजित करने की अनुमति देगा जिसके आधार पर div को लगाया जा रहा है?
क्या आपने कोड के अपने स्निपेट को आजमाया है? यह काम करना चाहिए क्योंकि आपको एंकर का ऑफ़सेट मिल रहा है और गतिशील मान से 250 घटा रहा है। सुनिश्चित करने के लिए, ब्रैकेट के साथ अपनी गणना के आस-पास आज़माएं। – Bojangles
क्या आप http://jsfiddle.net/ पर कुछ सरल परीक्षण कोड प्रदान कर सकते हैं? सुनिश्चित नहीं है कि आपका 'div # contact' और 'div # पोर्टफोलियो कहां है। – Giberno
हाय, हाँ मैंने कोशिश की है। यह काम करता है, लेकिन यह हमेशा div से ऊपर 250px बैठता है, जो मैं नहीं चाहता हूं। – Francesca