Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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
Ответить с цитированием
  #2 (permalink)  
Старый 01.07.2011, 09:34
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Значит сделайте так, чтоб сервер отдавал по 10 записей.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 01.07.2011, 09:54
Новичок на форуме
Отправить личное сообщение для Евген123321 Посмотреть профиль Найти все сообщения от Евген123321
 
Регистрация: 01.07.2011
Сообщений: 3

в примере выше он отдает 5 записей, но при каждом скролле эти записи повторяются(с 1 по 5 записи в xml), а как сделать чтоб он понимал что первые 5 записей он уже отдал, и при следующем скролле появились уже с 5 по 10 записи. Пробовал в скрипте добавить параметр страниц( url: "Default.aspx/Foo?page=1",)... где page менялось бы от 1 до ....n, но из за записи "<System.Web.Services.WebMethod()> _" я не могу получить параметр "page"
Ответить с цитированием
  #4 (permalink)  
Старый 01.07.2011, 14:05
Новичок на форуме
Отправить личное сообщение для Евген123321 Посмотреть профиль Найти все сообщения от Евген123321
 
Регистрация: 01.07.2011
Сообщений: 3

Другой вопрос
при приведенном ниже коде все работает на ура
<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>


Но не работает при добавлении вместо data: "{}", строку data: 'number='+scrollEngine.number+'&count='+scrollEngi ­ne.count,

В чем заключается ошибка?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Live() и scroll Johny jQuery 0 05.04.2011 15:26
jquery scroll qwermjk Общие вопросы Javascript 5 11.03.2011 00:09
Как изменить положение scroll? PAMAC Общие вопросы Javascript 3 25.11.2010 18:22
scroll bar (wheel) morg4n Элементы интерфейса 1 13.08.2010 01:22
div с overflow-y: scroll; + большой контент + Opera/Firefox bug no. Общие вопросы Javascript 2 24.02.2009 11:20