मैं एक (चिपचिपा) स्क्रॉल साइडबार पर काम कर रहा हूँ। समस्या यह है कि अधिकांश चिपचिपा साइडबार इस बात पर विचार नहीं करते हैं कि साइडबार लंबा हो सकता है तो व्यूपोर्ट (उदाहरण के लिए यदि टोकरी (साइडबार) में कई आइटम जोड़े जाते हैं)। जो मैं हल करने की कोशिश कर रहा हूं।उन्नत jQuery चिपचिपा साइडबार
साइडबार की ऊंचाई लम्बे तो व्यूपोर्ट है, तो यह सामग्री और div के नीचे के माध्यम से स्क्रॉल व्यूपोर्ट की तह तक चिपके रहते हैं चाहिए चाहिए जब आगे नीचे स्क्रॉल: ये आवश्यकताएं हैं ।
तो साइडबार की ऊंचाई लम्बे तो व्यूपोर्ट है, divs नीचे केवल जब तुम पृष्ठ के तल पर हैं दिखाया जाना चाहिए।
जब उपयोगकर्ता बैक अप लेता है, साइडबार शीर्ष पर वापस स्क्रॉल करता है और व्यूपोर्ट के शीर्ष पर वापस चिपक जाता है।
यदि साइडबार की ऊंचाई कम है तो व्यूपोर्ट, यह स्क्रॉल होने पर शीर्ष से चिपचिपा होना चाहिए।
तो सब कुछ कुछ कार्यक्षमता में और इतना आसान नहीं (मुझे लगता है)। मैंने जो देखा है उसे मैंने सबसे करीब देखा है, यह उदाहरण है: http://demo.techbrij.com/730/fix-sidebar-scrolling-jquery.php लेकिन जिस तरह से कोड लिखा गया है वह मेरे लिए उपयुक्त नहीं है।
अब तक, इस मैं क्या कर दिया है है: DEMO
और jQuery कोड मैं प्रयोग किया है:
jQuery(document).ready(function($) {
var $sidebar = $('.sidebar'),
$content = $('.content');
if ($sidebar.length > 0 && $content.length > 0) {
var $window = $(window),
offset = $sidebar.offset(),
timer;
$window.scroll(function() {
clearTimeout(timer);
timer = setTimeout(function() {
if ($content.height() > $sidebar.height()) {
var new_margin = $window.scrollTop() - offset.top;
if ($window.scrollTop() > offset.top && ($sidebar.height()+new_margin) <= $content.height()) {
// Following the scroll...
$sidebar.stop().animate({ marginTop: new_margin });
} else if (($sidebar.height()+new_margin) > $content.height()) {
// Reached the bottom...
$sidebar.stop().animate({ marginTop: $content.height()-$sidebar.height() });
} else if ($window.scrollTop() <= offset.top) {
// Initial position...
$sidebar.stop().animate({ marginTop: 0 });
}
}
}, 100);
});
}
});
हमम। मैंने इसे अपने चिपचिपा हेडर/तत्व पुस्तकालय के लिए विचार में नहीं लिया। मुझे लगता है कि मेरे पास निपटने के लिए एक नया मुद्दा है। :-) http://underpull.github.com/Balloon/ – Vinay