如何制作 JQ 点击加载更多新闻列表效果

淳纯 2014-04-24 12:57:17
我现在有个文件如: a.aspx?page=1的参数
相当于我的页面已经有10条循环出来的数据了。
<li>新闻列表数据1</li>
<li>新闻列表数据2</li>
<li>新闻列表数据3</li>
<li>新闻列表数据4</li>
<li>新闻列表数据5</li>
<li>新闻列表数据6</li>
<li>新闻列表数据7</li>
<li>新闻列表数据8</li>
<li>新闻列表数据9</li>
<li>新闻列表数据10</li>
<li>点击加载更多</li>
这时只显示这里的数据。当点击加载更多后。page=2 就自动加载第2页的数据。由第一页变为第二页再变为第三页也要自动。

<li>新闻列表数据1</li>
<li>新闻列表数据2</li>
<li>新闻列表数据3</li>
<li>新闻列表数据4</li>
<li>新闻列表数据5</li>
<li>新闻列表数据6</li>
<li>新闻列表数据7</li>
<li>新闻列表数据8</li>
<li>新闻列表数据9</li>
<li>新闻列表数据10</li>
<li>新闻列表数据11</li>
<li>新闻列表数据12</li>
<li>新闻列表数据13</li>
<li>新闻列表数据14</li>
<li>新闻列表数据15</li>
<li>新闻列表数据16</li>
<li>新闻列表数据17</li>
<li>新闻列表数据18</li>
<li>新闻列表数据19</li>
<li>新闻列表数据20</li>
就显示这样。应该怎么写JQ呢?
...全文
883 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
淳纯 2014-04-28
  • 打赏
  • 举报
回复
感谢了。不过我自己已经解决了。 我是用 inhtml
Go 旅城通票 2014-04-26
  • 打赏
  • 举报
回复
用错对象了。。回调里面this指向的是ajax的配置。。改成这样 $.ajax({ url: 'searchlistz.aspx', data: { page: p }, cache: false, dataType: 'html', success: function (html) { $('#more').before(html); //searchlist.aspx返回类似上面的模拟数据 alert(html); } });
淳纯 2014-04-24
  • 打赏
  • 举报
回复
$.ajax({ url: 'searchlistz.aspx', data: { page: p }, cache: false, dataType: 'html', success: function (html) {

$(this).before(html); //searchlist.aspx返回类似上面的模拟数据
alert(html);
}
});

html有输出。
淳纯 2014-04-24
  • 打赏
  • 举报
回复
改为模拟数据就有
淳纯 2014-04-24
  • 打赏
  • 举报
回复
//实际应用 $.ajax({ url: 'searchlistz.aspx', data: { page: p }, cache: false, dataType: 'html', success: function (html) { alert(ok); $(this).before(html); //searchlist.aspx返回类似上面的模拟数据 } }); 加了没有数据
Go 旅城通票 2014-04-24
  • 打赏
  • 举报
回复
你success增加alert输出html看看是不获取到数据了,是否和模拟的数据格式一样,就是 <li>,,,</li><li>,,,</li><li>,,,</li> 这种类似的数据
淳纯 2014-04-24
  • 打赏
  • 举报
回复
版主能帮我在看下嘛。。
淳纯 2014-04-24
  • 打赏
  • 举报
回复
多谢了,但是我改为 实际应用 后。加载更多没有哦
Go 旅城通票 2014-04-24
  • 打赏
  • 举报
回复
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
 <script>
     $(function () {
         var p = 1; //记录第几页
         $('#more').click(function () {
             p += 1; //下一页


             //===========模拟数据
             var s = '';
             for (var i = p * 10 + 1, j = p * 10 + 10; i <= j; i++) s += '<li>新闻列表数据' + i + '</li>';
             $(this).before(s);
             //===========模拟数据
/*
             //实际应用
             $.ajax({ url: 'xxxx.aspx', data: { page: p }, cache: false, dataType: 'html', success: function (html) {
                 $(this).before(html); //xxxx.aspx返回类似上面的模拟数据
              } });*/
             return false;
         });
     });
 </script>
 <ul><li>新闻列表数据1</li>
<li>新闻列表数据2</li>
<li>新闻列表数据3</li>
<li>新闻列表数据4</li>
<li>新闻列表数据5</li>
<li>新闻列表数据6</li>
<li>新闻列表数据7</li>
<li>新闻列表数据8</li>
<li>新闻列表数据9</li>
<li>新闻列表数据10</li>
<li id="more">点击加载更多</li></ul>
多看下jquery的API了,这么简单的ajax请求和dom操作

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧