2010-07-15 10 views
5

कोको टच का UITableView उपयोगकर्ता को अच्छी प्रदर्शन के साथ बड़ी संख्या में डेटा पंक्तियों के माध्यम से स्क्रॉल करने की अनुमति देता है क्योंकि यह तालिका पंक्तियों को पुन: उपयोग करता है। प्रत्येक डेटा पंक्ति के लिए एक जीयूआई तत्व बनाने के बजाय, तालिका पंक्तियों की एक सीमित संख्या बनाई जाती है, और उपयोगकर्ता के स्क्रॉल के रूप में प्रासंगिक डेटा के साथ अपडेट किया जाता है, जिससे टेबल पंक्तियों की एक बड़ी संख्या में ऊपर और नीचे नेविगेट करने का भ्रम होता है।आईफोन UITableView से प्रेरित जावास्क्रिप्ट विजेट?

क्या किसी ने इसे जावास्क्रिप्ट में देखा है? क्या कोई प्लगइन कहीं भी उपलब्ध है जो मेरे लिए यह करेगा?

+1

के साथ काम करता है इलियट की प्रतिक्रिया इस प्रश्न का उत्तर होना चाहिए। –

उत्तर

0

दरअसल एल्गोरिदम बिल्कुल मुश्किल नहीं है। यदि आप जावास्क्रिप्ट जानते हैं तो आपको इसे लिखने में सक्षम होना चाहिए। एल्गोरिदम को केवल सेल की ऊंचाई और तालिका की ऊंचाई की आवश्यकता होती है।

मुझे केवल इन दोनों को पता है: ऐप्पल के डैशकोड जावास्क्रिप्ट फ्रेमवर्क में एक तालिका का कार्यान्वयन है। आप एक नज़र डाल सकते हैं और देख सकते हैं कि आपको यही चाहिए या नहीं। या कैप्चिनो फ्रेमवर्क जो मूल रूप से उद्देश्य-जे है लेकिन दृश्यों के पीछे जावास्क्रिप्ट है।

+1

हां, मूल बातें सरल हैं। मुझे स्क्रॉल व्हील समर्थन भी चाहिए, यह नहीं पता कि यह कितना काम होगा। और मुझे कोशिकाओं को एनिमेट करने को संभालना होगा क्योंकि वे अंदर और बाहर देखते हैं, जो मुश्किल नहीं होने पर मुझे कम से कम कुछ घंटे लगेंगे। – morgancodes

0

मुझे नहीं लगता कि यह जेएस में आवश्यक है।

यह तालिका पंक्तियों में विचार आवंटित करने और आरंभ करने के क्रम में ओब्जे-सी में ऐसा किया जाता है।

जेएस में पंक्तियां केवल टेक्स्ट (कोई आवंटन आवश्यक नहीं है) कि आपको कहीं भी पकड़ना चाहिए - आप HTML के बिना केवल पाठ धारण कर सकते हैं और जब पंक्ति दिखाई देगी तो इसे HTML के साथ लपेटें, लेकिन मुझे नहीं लगता आपके समय के लायक है

मैं नहीं मानता कि इस दृष्टिकोण HTML तालिका तेजी से कर देगा ...

+2

माइकल, मैं संभावित रूप से हजारों पंक्तियों के साथ काम करूँगा। ब्राउजर के लिए उन सभी डोम ऑब्जेक्ट्स को बनाने में बहुत समय लगता है, इसलिए मैं डोम ऑब्जेक्ट्स को अनुकूलित और पुन: उपयोग करने के तरीकों की तलाश में हूं। – morgancodes

+0

ठीक है। और उपयोगकर्ता हजारों पंक्तियों को स्क्रॉल करने के लिए पर्याप्त धीरज रखेगा? आम तौर पर प्रदर्शित डेटा राशि को कम करने और साइट की उपयोगिता बढ़ाने के लिए वेब साइटों में एक पेजिंग या खोज होती है। खैर, मुझे लगता है कि आपने इन सभी सवालों पर अपने शोध और धारणाएं पहले से ही कर ली हैं। बीटीडब्ल्यू, क्या आप नई पंक्तियों को AJAX के साथ लाने वाले हैं? –

+0

हां, नई पंक्तियां अजाक्स के माध्यम से लाई जाएंगी। और, बिल्कुल, एक खोज भी है। उपयोगकर्ता के धैर्य के बारे में अच्छा बिंदु, हालांकि मुझे लगता है कि यह बिंदु 1000 के परिणामों के साथ-साथ स्क्रॉलिंग के माध्यम से पेजिंग पर लागू होता है। – morgancodes

5

infinity.js अच्छी तरह से काम करता है। यह दृश्यों के पीछे 'पृष्ठों' को गतिशील रूप से लोड करेगा जिससे आपको यह दिखाया जा सके कि सूची पूरी तरह से लोड हो गई है।

अधिक जानकारी उनके Github पृष्ठ पर पाया जा सकता है - https://github.com/airbnb/infinity

साथ ही, मैं इसे zepto के साथ काम करने को अद्यतन करने के परियोजना विभाजित किया है। मैंने इसे 'स्क्रोल करने योग्य' श्रेणी के साथ किसी भी स्क्रोल करने योग्य div (ओवरफ्लो: स्कॉल के साथ सेट अप) के साथ सेट अप किया है - https://github.com/elliotcw/infinity

मुझे यह जोड़ना चाहिए कि मैंने इन परिवर्तनों को बनाया है क्योंकि यह मोबाइल उपकरणों पर बड़ी सूचियों के लिए बहुत अच्छा है, पृष्ठ पर कई जटिल तत्व होने पर धीमा हो जाएं।

3

मैं इसे भी ढूंढ रहा था, और infinityjs [1] UITableView के समान इंटरफ़ेस की नकल करने की प्रतीत नहीं होती है। और यह मेरे परिदृश्य के लिए एक समस्या थी कि इन्फिनिटीज की आवश्यकता होती है कि सूची आइटम वाले तत्व को पहले ही डीओएम में जोड़ा जा सके।

मेगालिस्ट [2] जो चाहता था उससे निकटतम आया। एंड्रयू (लेखक) ने मोबाइल के लिए पहले इसे डिजाइन करने का एक अच्छा काम किया है, स्पर्श समर्थन आदि के साथ। मेरे लिए एक चेतावनी यह थी कि ऐसा लगता है कि यह एक सख्त चयन सूची मॉडल मानता है और मुझे एक सूची घटक पसंद करने से थोड़ा अधिक कुछ करता है करने के लिए (उदाहरण के लिए घटनाओं का आकार बदलने और स्वचालित रूप से इसे संभालने का प्रयास करने के लिए बाध्यकारी)।

इसलिए मैंने एक बेयरबोन सूची घटक लिखना शुरू किया, जिसे आईओएस UITableView के बाद भी मॉडलिंग किया गया। यह एक काम प्रगति पर है और मैं बस जो कुछ चाहता हूं उसे डाल रहा हूं। स्रोत यहां https://github.com/shyam-habarakada/js-virtual-list-view हैं।मैं में डाल रहा हूं जैसा कि मैंने जाना मैं सिर्फ क्या जरूरत है, और योगदानकर्ताओं :-)

[1] http://airbnb.github.io/infinity/

[3] https://github.com/triceam/MegaList

0

Clusterize.js ठीक करता है की जरूरत है।

यह छोटा है और किसी भी टैग (टेबल, सूचियों, divs)

संबंधित मुद्दे