Тема: infinite scroll
Показать сообщение отдельно
  #1 (permalink)  
Старый 01.07.2011, 05:25
Новичок на форуме
Отправить личное сообщение для Евген123321 Посмотреть профиль Найти все сообщения от Евген123321
 
Регистрация: 01.07.2011
Сообщений: 3

infinite scroll
Народ помогите! второй день не могу победить...

Нашел пример реализации вечного скрорлла: http://code.msdn.microsoft.com/VBASPN...=417319407
(То что мне нужно- тянуть данные из xml файла)
Но в нем при прокрутке на страницу вываливаются сразу все данные из xml, при следеющей прокрутке процесс повторяется... Мне же нужно чтобы допустим при первой прокрутке вываливалось первые 10 записей, при второй- следующие 10 записей... и так до конца файла.

код код страницы default.aspx:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
     <link rel="stylesheet" href="Styles/Site.css" type="text/css" />
    <script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript">
        $(document).ready(function () {

            function lastPostFunc() {
                $('#divPostsLoader').html('<img src="images/bigLoader.gif">');

                //send a query to server side to present new content
                $.ajax({
                    type: "POST",
                    url: "Default.aspx/Foo",
                    data: "{}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (data) {

                        if (data != "") {
                            $('.divLoadData:last').after(data.d);
                        }
                        $('#divPostsLoader').empty();
                    }

                })
            };

            //When scroll down, the scroller is at the bottom with the function below and fire the lastPostFunc function
            $(window).scroll(function () {
                if ($(window).scrollTop() == $(document).height() - $(window).height()) {
                    lastPostFunc();
                }
            });

        });
    </script>

</head>
<body>
    <form id="form1" runat="server">
   <div style="height: 900px">
        <h1>
            Simply scroll down to see new content loading...<asp:Label ID="Label1" 
                runat="server" Text="1"></asp:Label>
        </h1>
    </div>
    <div class="divLoadData">
    </div>
    <div id="divPostsLoader">
    </div>
    </form>
</body>
</html>


Код default.aspx.vb:
Код:
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.Services
Imports System.Data
Imports System.Text
Imports System.Xml
Partial Class _Default
    Inherits System.Web.UI.Page

 

    <System.Web.Services.WebMethod()> _
    Public Shared Function Foo() As String
        Dim doc As New XmlDocument
        Dim nik As String
        Dim getPostsText As New StringBuilder()
        doc.Load("C:\message_in.xml")
        For i = 1 To 5
            nik = doc.SelectNodes("/base/soobshenie[" & i & "]/nik")(0).InnerText

            getPostsText.AppendFormat("<br>" & nik & "<br>")


        Next
        Return getPostsText.ToString()
    End Function

   
 
End Class
Ответить с цитированием