हे वहाँ .. फिर कुछ सलाह :)jQuery: दूसरी प्लगइन
मैं एक फ़िल्टर करने पोर्टफोलियो [इस प्लगइन लिंक के आधार पर के साथ एक परियोजना पर काम कर रहा हूँ की जरूरत है: www.gethifi.com/blog/a-jquery-plugin-to-create-an-interactive-filterable-portfolio-like-ours।
पोर्टफोलियो आइटम एक क्षैतिज स्लाइडर में दिखाए जाते हैं जो ब्राउज़र विंडो के बाईं ओर दाईं ओर स्क्रॉल क्षेत्र (हॉट स्पॉट) जोड़ रहा है।
स्लाइडर की चौड़ाई प्लग में smoothdivscroller www.smoothdivscroll.com में गणना की जाती है:
यहाँ मेरी समस्या आती है। लेकिन जब मैं फ़िल्टर नेविगेशन के माध्यम से स्लाइडर की सामग्री को बदलता हूं तो स्लाइडर की कुल चौड़ाई बदल जाती है, लेकिन smoothdivscroller प्लग-इन इसे ध्यान में नहीं रख रहा है।
मैं एक सरल example jsfiddle में आप के लिए निर्धारित किया है और आप पूरी समस्या यहाँ kuemmel-schnur.de/projekte अनुभव कर सकते हैं: जब सभी परियोजनाओं को दिखाया जाता है (सभी) और आप सही करने के लिए स्क्रॉल और फिर श्रेणी के लिए स्विच "Lehrprojekte" आप जीता ' किसी भी परियोजना को नहीं देखते क्योंकि वे दूर बाईं तरफ हैं और कंटेनर की कुल चौड़ाई का पुनर्मूल्यांकन नहीं किया जाता है।
इसे ठीक करने के लिए मेरे पास तीन विचार हैं जहां मुझे कुछ गंभीर सहायता चाहिए।
1) में smoothdivscroll प्लग की तरह
$("#makeMeScrollable").smoothDivScroll("recalculateScrollableArea");
जो मैं हर बार आग के बाद portfolio-list a
क्लिक किया जाता है की जरूरत है कंटेनर की चौड़ाई पुनर्गणना के लिए एक सार्वजनिक विधि प्रदान करता है। और मैं विधि के साथ इस गठबंधन की जरूरत है जहां स्लाइडर स्वत: वर्तमान सामग्री
$("#makeMeScrollable").smoothDivScroll("moveToElement", "first");
2) मेरी दूसरी विचार के पहले तत्व पर स्विच करता है - करने के लिए है - कारण यदि या कैसे 1) काम करता है मुझे पता नहीं जांचें कि यूआरएल बदलता है और फिर पुनर्मूल्यांकन को आग लगती है। फिल्टर सामग्री को संबोधित करने के लिए हैश का उपयोग करता है। तो मैंने सोचा कि मैं यूआरएल पढ़ सकता हूं और हर बार हश में बदलाव के बाद सीधे हिस्सा मैं विधि को आग लगा सकता हूं।
3) मैं करने के लिए फ़िल्टर प्लग में बाँध सकता है smoothDivScroll प्लग-इन की तरह कुछ (पूरी तरह से गलत कोड से सावधान :)
$('#portfolio-list').filterable();
$('#portfolio-filter a').click(function(){
$('#makeMeScrollable').smoothDivScroll("moveToElement", "first")("recalculateScrollableArea");
});
तो .. तुम्हें क्या लगता है के साथ? फिर jsfiddle लिंक: jsfiddle.net/tobiasmay/QudtF/
धन्यवाद, tobi।
ps। मैं लिंक को सही तरीके से सेटअप करता, लेकिन मुझे 1 लिंक अधिक पोस्ट करने के लिए 1 और प्रतिष्ठा बिंदु की आवश्यकता होती है;)
है के लिए एक हैंडलर सेट मेरा सवाल बहुत लंबा या बहुत जटिल है? तो मैं इसे नीचे दबा दूंगा .. – tobiasmay
मुझे यकीन नहीं है कि jsfiddle अद्यतित है - 'Uncaught TypeError: ऑब्जेक्ट #
वास्तव में filterable.js (और jquery.ba-hashchange.min.js) के संसाधन लिंक अमान्य है। – JimmiTh