2012-04-16 14 views
6

का उपयोग कर डिफ़ॉल्ट स्क्रॉल बार को प्रतिस्थापित करने का समस्या TinyScrollbar नामक एक jQuery प्लगइन का उपयोग करके मैं अपनी साइट के डिफ़ॉल्ट स्क्रॉलबार को प्रतिस्थापित करना चाहता हूं (THIS पृष्ठ विशेष रूप से)। हालांकि, किसी कारण के लिए मैं पृष्ठ पर निम्न त्रुटि हो रही है:jQuery प्लगइन

jquery.tinyscrollbar.min.js:1Uncaught TypeError: Cannot read property 'offsetHeight' of undefined 

आप Chrome में तत्व का निरीक्षण करके इस त्रुटि देख सकते हैं।

क्या किसी के पास कोई विचार हो सकता है कि यह त्रुटि क्यों हो रही है? कोड मैं प्लगइन प्रारंभ करने में उपयोग कर रहा हूँ नीचे देखा जा सकता है:

$('#full-height-template-container').tinyscrollbar(); 
+1

समस्या शायद आपके 'फीडइन' में हो, तो फ़ैडिन के 'कॉलबैक' func का उपयोग करने के लिए तत्व को tinyscroll के रूप में असाइन करने का प्रयास करें, क्योंकि तत्व के पास ऑफसेट नहीं है जब तक कि यह ': दृश्य' – SpYk3HH

+0

मैं यह कैसे करूँ? मैंने सोचा था कि जब से मैं फीका के बाद tinyScroll बुला रहा था वहां कोई समस्या नहीं होगी। क्या मुझे बस करना चाहिए। फ़ेडइन (फ़ंक्शन() {यहां छोटी स्क्रॉल}); –

+0

दस्तावेज नहीं है। डीओएम लोड होने के बाद पहले ही चलाया गया है? –

उत्तर

19

समस्या यह है कि आप प्लगइन के रूप में आप इसे उपयोग करने वाले रहे हैं प्रयोग नहीं करते।

टाइन्सक्रॉलबार की स्रोत फ़ाइल का उपयोग कर त्रुटि (फ़ायरफ़ॉक्स फ़ायरबग में), दिखाता है: oViewport.obj[0]undefined है। यदि आप स्रोत कोड में कुछ पंक्तियां देखते हैं तो आप देख सकते हैं कि oViewport की संपत्ति obj को $('.viewport', root) के रूप में परिभाषित किया गया है। यहां रूट आपके कंटेनर है। स्पष्ट रूप से यह कक्षा के साथ एक HTML तत्व नहीं मिला .viewport। आपके पृष्ठ में ऐसी कक्षा के साथ एक HTML तत्व नहीं है!

यदि आप tinyscrollbar के website पर देखते हैं तो आप काम करने के लिए प्लगइन के लिए उचित HTML कैसे बनाएं, 'कैसे करें' अनुभाग में देख सकते हैं।

शायद आप एक आसान (समान प्लगइन) का उपयोग कर सकते हैं jScrollPane है। एचटीएमएल को tiniscrollbar की तरह स्थापित करने की आवश्यकता नहीं है।

+0

जेएसक्रोलपैन का सबसे अच्छा हिस्सा यह है कि यह मोबाइल ब्राउज़र पर भी काम करता है, यहां तक ​​कि यह सही नहीं है, यह मैंने कोशिश की अधिकांश प्लगइन से बेहतर है। –

0

छोटे स्क्रॉलबार वेबसाइट का उल्लेख नहीं है कि जेएस लाइब्रेरी में क्लास नामों को हार्ड कोड किया गया है। आप लाइब्रेरी को व्यक्ति के वर्ग के नाम, आवश्यक एचटीएमएल तत्वों को स्वीकार करने के लिए इसे बदलकर बदल सकते हैं।