2011-10-04 16 views
7

पर पेज स्क्रॉल के दौरान div छुपाएं और दिखा रहा है वेबपृष्ठ के एक तत्व (div) को प्रदर्शित करने की आवश्यकता है। स्क्रॉल के दौरान तत्व गायब हो जाना चाहिए और स्क्रॉल समाप्त होने के बाद फिर से दिखाई देना चाहिए।आईफोन

जटिलता को जोड़ने के लिए:

  1. हमारे कोड एक अतिथि कोड (इस प्रकार हम डोम संरचना आदि में हेरफेर नहीं कर सकता) है।
  2. हमारे कोड iPhone/iPad (मोबाइल सफ़ारी ब्राउज़र)

हम पर दस्तावेज़/शरीर touchstart घटना को सुनने और हमारे समर्पित हैंडलर में तत्व (div) को छिपाने के लिए कोशिश की है पर काम करने का इरादा है। हालांकि, कुछ साइटों में, (जब डोम संरचना उचित रूप से जटिल हो जाती है) स्क्रॉल प्रतिक्रिया समय महत्वपूर्ण रूप से बढ़ता है, भले ही हैंडलर कार्यान्वयन पूरी तरह से खाली हो।

हम स्क्रॉल करते समय उपयोगकर्ता अनुभव की न्यूनतम प्रभाव के साथ तत्व (पुनः) उपस्थिति को प्रबंधित करने का उचित तरीका ढूंढ रहे हैं।

उत्तर

0

हाल iOS संस्करण (5.x) तय पोजीशनिंग (सीएसएस में position:fixed) में धाराप्रवाह, समर्थित ताकि आपके तत्व स्क्रीन निर्देशांक पर तैनात किया जाएगा है। यह आपकी परेशानियों को हल करने के लिए एक अच्छा प्रारंभिक बिंदु हो सकता है।

+0

कीबोर्ड के साथ काम नहीं करता – Petah

+0

आईओएस 6 पर फिक्स्ड है ... "नोट: केवल निम्नलिखित मेटा टैग का उपयोग करके एंड्रॉइड 2.2+ में काम करता है: <मेटा नाम =" व्यूपोर्ट "सामग्री =" चौड़ाई = डिवाइस-चौड़ाई , उपयोगकर्ता-स्केलेबल = नहीं ">। आईओएस सफारी में आंशिक समर्थन बग्गी व्यवहार को संदर्भित करता है।" --http: //caniuse.com/css-fixed – nym

1

मुझे लगता है कि जावास्क्रिप्ट आपका सबसे अच्छा समाधान है। आप document.createElement का उपयोग करके किसी भी सामग्री में गतिशील रूप से अपनी डीआईवी डाल सकते हैं, फिर ऑनक्रॉल को सुनने के लिए कुछ जावास्क्रिप्ट भी जोड़ सकते हैं ...

यदि आप चाहें तो देशी कोड से निर्मित कस्टम एचटीएमएल का उपयोग करके आप DIV को भी पॉप्युलेट कर सकते हैं।

कोई मदद?

+1

'ऑनस्कोल' हैंडलर को * स्क्रॉल के बाद * कहा जाता है, हमारे मामले में हम स्क्रॉल शुरू होने से पहले तत्व * को छिपाना चाहते हैं। – roee

1

मुझे नहीं पता कि आप एक jQuery उपयोगकर्ता हैं, लेकिन यह .scroll() फ़ंक्शन आपको वही करने में मदद कर सकता है जो आप करना चाहते हैं। यह कैसे काम करता है यह देखने के लिए डेमो देखें।

http://api.jquery.com/scroll/