jQuery

2013-07-03 3 views
121

का उपयोग कर पृष्ठ की स्क्रॉल स्थिति का पता लगाने के लिए कैसे करें मेरी वेबसाइट में निम्नलिखित jQuery कार्यक्षमता है, यह क्या करता है यह यह पहचानने के लिए window.scroll() फ़ंक्शन का उपयोग करता है जब विंडोज़ स्क्रॉल स्थिति में परिवर्तन बदलती है और परिवर्तन पर डेटा लोड करने के लिए कुछ फ़ंक्शन कॉल करते हैं सर्वर सेjQuery

समस्या .scroll() समस्या है जैसे ही स्क्रॉल स्थिति में थोड़ा बदलाव होता है और नीचे डेटा लोड होता है, हालांकि मैं जो हासिल करना चाहता हूं वह नया डेटा लोड करता है जब स्क्रॉल/पेज स्थिति पहुंच जाती है फेसबुक फीड के लिए ऐसा होता है।

लेकिन मुझे यकीन नहीं है कि jQuery का उपयोग करके स्क्रॉल स्थिति का पता कैसे लगाएं?

function getData() { 
    $.getJSON('Get/GetData?no=1', function (responseText) { 
    //Load some data from the server 
    }) 
}; 

$(window).scroll(function() { 
    getData(); 
}); 

उत्तर

218

आप jQuery's .scrollTop() method

$(window).scroll(function (event) { 
    var scroll = $(window).scrollTop(); 
    // Do something 
}); 
+21

लेकिन आप यह कैसे कर सकते हैं? –

+8

विंडो स्क्रॉल में ईवेंट संलग्न करना एक बुरा विचार है: http://stackoverflow.com/questions/5036850/how-to-detect-page-scroll-to-a-certain-point-in-jquery – hendr1x

+11

विंडो स्क्रॉल सुनना देखें अपने आप में और बुरा नहीं है। ऐसा तब होता है जब लोग उस घटना के प्रत्येक फायरिंग पर _do_ चीजों को करने का प्रयास करते हैं जो परेशानी होती है। यदि आप केवल वर्तमान स्क्रॉल स्थिति में, या सत्य/गलत करने के लिए एक चर के मान सेट करने की तरह कुछ करते हैं, और फिर ईवेंट के बाहर _those_ का उपयोग करते हैं, तो आपको आमतौर पर सुनहरा होना चाहिए। –

101

का उपयोग कर पुस्तक स्थिति आप window.scrollTop() समारोह के लिए देख रहे निकाल सकते हैं।

$(window).scroll(function() { 
    var height = $(window).scrollTop(); 

    if(height > some_number) { 
     // do something 
    } 
}); 
30

चेक यहाँ डेमो http://jsfiddle.net/yeyene/Uhm2J/

function getData() { 
    $.getJSON('Get/GetData?no=1', function (responseText) { 
     //Load some data from the server 
    }) 
}; 

$(window).scroll(function() { 
    if($(window).scrollTop() + $(window).height() == $(document).height()) { 
     alert("bottom!"); 
     // getData(); 
    } 
}); 
4
$(window).scroll(function() { 
var scrolled_val = $(document).scrollTop().valueOf(); 
alert(scrolled_val+ ' = scroll value'); 
}); 

इस पुस्तक का मूल्य हो रही का एक और तरीका है।

2

पोस्टबैक के आस-पास के दौरान स्क्रॉल के मान को छुपाएं जब पोस्टबैक मूल्य को पुनर्प्राप्त करता है और स्क्रॉल जोड़ता है।

//jQuery 

jQuery(document).ready(function() { 

    $(window).scrollTop($("#<%=hidScroll.ClientID %>").val()); 

    $(window).scroll(function (event) { 
     $("#<%=hidScroll.ClientID %>").val($(window).scrollTop()); 
    }); 
}); 

var prm = Sys.WebForms.PageRequestManager.getInstance(); 

prm.add_endRequest(function() { 

    $(window).scrollTop($("#<%=hidScroll.ClientID %>").val()); 

    $(window).scroll(function (event) { 
     $("#<%=hidScroll.ClientID %>").val($(window).scrollTop()); 
    }); 
}); 

//Page Asp.Net 
<asp:HiddenField ID="hidScroll" runat="server" Value="0" /> 
2

अब जब कि मेरे लिए काम करता ...

$(document).ready(function(){ 

    $(window).resize(function(e){ 
     console.log(e);     
    }); 

    $(window).scroll(function (event) { 
     var sc = $(window).scrollTop(); 
     console.log(sc); 
    }); 

}) 

यह अच्छी तरह से काम करता है ... और फिर आप तत्वों पर नज़र रखने और उन्हें नियंत्रित करने के JQuery/TweenMax उपयोग कर सकते हैं।

+4

कृपया पूरी तरह से slurs और बुरे शब्दों से बचें। [सहायता] पढ़ें। –