2012-02-15 15 views
7

निम्न कोड के साथ, मैं यह देखने का प्रयास कर रहा हूं कि उपयोगकर्ता पृष्ठ के निचले भाग तक स्क्रॉल करता है। JQuery मोबाइल में।JQuery मोबाइल उपयोगकर्ता नीचे स्क्रॉल

$(window).scroll(function(){ 
    if($(window).scrollTop() == $(document).height() - $(window).height()){ 
      alert("The Bottom"); 
    } 
}); 

अभी के लिए मैं बस यह आउटपुट करना चाहता हूं कि वे नीचे पहुंच गए हैं।

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

क्या पृष्ठ लोड होने के दौरान इसे करने से रोकने का कोई तरीका है और उपयोगकर्ता ने भौतिक रूप से पृष्ठ को स्क्रॉल करते समय ही ऐसा किया है?

धन्यवाद

उत्तर

7

क्या ऐसा इसलिए है क्योंकि आपकी सामग्री आपके पृष्ठ से कम है? मतलब यह है कि जब यह लोड होता है, तो आप पहले से ही नीचे हैं। मैंने आपकी समस्या को http://jsfiddle.net/qESXR/2/ पर दोहराने की कोशिश की है और यह आपके जैसा व्यवहार करता है। हालांकि अगर मैं सामग्री को छोटा करता हूं और इसे अपनी मशीन पर स्थानीय रूप से चलाता हूं तो मुझे आपके पास एक ही परिणाम मिलता है।
यदि हां, तो आप इन

$(window).height(); // returns height of browser viewport 

$(document).height(); // returns height of HTML document 

इस तरह का उपयोग कर अपने एचटीएमएल की ऊंचाई बनाम पेज की ऊंचाई के लिए जाँच कर सकते हैं:

$(window).scroll(function(){ 
    if($(document).height() > $(window).height()) 
    { 
     if($(window).scrollTop() == $(document).height() - $(window).height()){ 
      alert("The Bottom"); 
     } 
    } 
}); 
+0

हाँ, डेटा गतिशील रूप में भरी हुई है। इसलिए प्रारंभिक भार यह खाली है, लेकिन एक बार जब डेटा डोम में डाला जाता है तो यह स्पष्ट रूप से फैलता है। –

+0

लगता है जैसे सामग्री लोड करने के बाद आपको गतिशील रूप से स्क्रॉल जोड़ने की आवश्यकता है। यदि ऐसा है तो यहां एक अच्छा संसाधन है http://stackoverflow.com/questions/4306387/jquery-add-and-remove-window-scrollfunction – davehale23

+0

बहुत बहुत धन्यवाद! यह मुझे पागल कर रहा है !! –

1

समस्या यह है कि jQuery मोबाइल के page widget व्यवहार करता है प्रत्येक "पेज" जहां तक ​​स्क्रॉलिंग चलती है खिड़की के रूप में। उपयोगकर्ता अंत करने के लिए स्क्रॉल किया गया है जब पता लगाने के लिए, $(document) बजाय करने के लिए स्क्रॉल समारोह बाँध:

http://jsfiddle.net/5x6T2/

$(document).scroll(function() { 
    if ($(window).scrollTop() + $(window).height() == $(document).height()) { 
     alert("Bottom reached!"); 
    } 
}); 
संबंधित मुद्दे