`

纯js鼠标滚动时候动态加载新页面数据

    博客分类:
  • js
阅读更多
// jQuery我们可以这样使用
$(window).scroll(function(){
  if ($(window).scrollTop() == $(document).height() - $(window).height()){
     page++;
     loadPage(page);
  }
});

 

//纯js我们可以这样做
window.onscroll = function() {
      var scrollTop = document.body.scrollTop;
      var offsetHeight = document.body.offsetHeight;
      var scrollHeight = document.body.scrollHeight;
      if (scrollTop == scrollHeight - offsetHeight) {
        page++;
        loadList(page);
      }
    };


function loadList(page) {
      page = page || 1;

      if (isLoad) {
        getJSON('/forum.php?mod=hot&page=' + page).then(function(data) {
          if (data.code == 200) {
            data = data.data;
            if (data && Object.keys(data).length > 0) {
              for (var k in data) {
                var v = data[k];
                detailTemplate = detailTemplate.cloneNode(true);
                var userInfoObj = detailTemplate.getElementsByClassName('user-info')[0];
                userInfoObj.getElementsByClassName('name')[0].innerText = v.author;
                userInfoObj.getElementsByClassName('avatar')[0].src = v.avatar;
                userInfoObj.getElementsByClassName('post-time')[0].innerHTML = v.lastpost;
                detailTemplate.getElementsByClassName('title')[0].innerText = v.subject;
                detailTemplate.getElementsByClassName('desc')[0].innerText = v.subject;
                var extInfoObj = detailTemplate.getElementsByClassName('ext-info')[0];
                extInfoObj.getElementsByClassName('from')[0].innerText = v.fname;
                extInfoObj.getElementsByClassName('view-time')[0].innerText = v.views;
                postListObj.appendChild(detailTemplate);
              }
            } else {
              isLoad = false;
            }
          } else {
            isLoad = false;
          }
        }, function(status) {
          console.log('Something went wrong, status is ' + status);
        });
      }
    }

 

分享到:
评论

相关推荐

    使用jQuery或者原生js实现鼠标滚动加载页面新数据

    主要介绍了使用jQuery或者原生js实现鼠标滚动加载页面新数据的方法,即控制滚动条下拉时的加载事件,需要的朋友可以参考下

    程序天下:JavaScript实例自学手册

    19.15 动态加载JavaScript文件 19.16 防止JavaScript文件被其他站直接引用 19.17 检查机器是否安装Word 19.18 打印当前页 19.19 打印预览 19.20 隐藏不想打印的页面内容 19.21 使用ExecWB直接打印 19.22 动态绑定XML...

    《程序天下:JavaScript实例自学手册》光盘源码

    19.15 动态加载JavaScript文件 19.16 防止JavaScript文件被其他站直接引用 19.17 检查机器是否安装Word 19.18 打印当前页 19.19 打印预览 19.20 隐藏不想打印的页面内容 19.21 使用ExecWB直接打印 19.22 动态绑定XML...

    JavaScript完全自学宝典 源代码

    common.js 实现数据检验的独立的.js文件。 第2章(\c02) 实例描述:学习JavaScript的基本语法。 2.1.html JavaScript中this在不同位置指向的对象。 2.2.html null类型的简单应用。 2.3.html 算术...

    JavaScript网页特效范例宝典源码

    实例264 程序加载页面 409 实例265 颜色拾取器 411 9.3 广告页面 415 实例266 图片总置于顶端 415 实例267 随机显示广告 416 实例268 广告随滚动条漂移 418 9.4 页面动画效果 419 实例269 下雪 419 实例270 飘落的...

    jQuery向下滚动即时加载内容实现的瀑布流效果

    下拉滚动条或鼠标滚轮滚动到页面底部时, 动态即时加载新内容。 后台用 json 传输数据, 示例程序中只写了示例数组。数据也只设置了两个属性, 需根据实际应用改写。 页面用了 ul li 做为容器, 每个 li 表示一列 ...

    javascript网页特效实例大全(13-19)

    13.3 鼠标及滚动条样式 522 实例327 显示自定义鼠标形状 522 实例328 动画光标 524 实例329 制作彩色滚动条 525 13.4 文字及列表样式 527 实例330 应用删除线样式标记商品特价 527 实例331 在文字上方...

    web 视频播放器 js

    当该值设置为’true’的时候,会自动根据鼠标滚动播放列表。 displaywidth(number of pixes):设置显示区域的宽度,当设置的比较小的时候,播放列表会显示在显示区域的右侧而不是底部。 kenburns* (true,false): 用以...

    javascript大全---个人认为是很全了

    加载页面时开 启 新 窗 口.htm 禁用鼠标右键.htm 科学计算器.htm 可拖动的图片.htm 可以拖动的效果.htm 面积.htm 判断注册信息.htm 跑马灯.htm 跑马灯2.htm 闪烁的文字.htm 省市三级刷新.htm 鼠标星星效果.htm 树 型...

    JavaScript实例精通

    JavaScript实例精通 1.本书1~20章所附代码的运行环境 操作系统:Windows 2003、Windows XP Professional,或者Windows 2000 开发环境:、Dreamwave、Notepad、UltraEdit,或者其他文本编辑器 Web服务器:IIS 5.1及...

    超实用的jQuery代码段

    8.6 页面滚动时加载新的网页内容 8.7 打造自己的站内搜索引擎 8.8 异步加载并解析XML文件 8.9 动态加载HTML内容到标签页中 8.10 使用AJAX刷新异步提交表单 8.11 使用AJAX刷新上传图片 8.12 使用AJAX刷新验证PHP会话...

    《JavaScript实例精通》[源代码]

    示例描述:JavaScript的鼠标事件和键盘事件。 7_1.htm 按钮的鼠标单击事件。 7_2.htm 用鼠标点亮文本。 7_3.htm 渐显图片。 7_4.htm 跟随鼠标的图片。 7_5.htm 跟随鼠标的*。 7_6.htm 跟随鼠标的文字。 ...

    javascript网页特效实例大全(8-12)

    实例264 程序加载页面 409 实例265 颜色拾取器 411 9.3 广告页面 415 实例266 图片总置于顶端 415 实例267 随机显示广告 416 实例268 广告随滚动条漂移 418 9.4 页面动画效果 419 实例269 下雪 419 ...

    SimpleMall:简单购物商城

    使用了jquery库轮播使用了插件辅助工具node.js、webpack 、git实现了ajax远程获取数据,加载页面信息根据鼠标滚动延迟加载商品信息,以提高打开页面的速度注册和登陆页面的表单验证搜索打开新页面后字段回填商品列表...

    ASP.NET开发实战1200例(第Ⅰ卷)第十二章

    实例318 利用JavaScript屏蔽鼠标右键 499 实例319 利用JavaScript禁止复制网页内容 500 12.6 其他常用JavaScript 501 实例320 让你的网站更具人气——收藏本站 501 实例321 将你喜欢的网站设为主页 502 实例322 智能...

    waterfall-jQuery实现的瀑布流效果.zip

    waterfall-jQuery实现的瀑布流效果,当前流行的一种布局风格,向下滚动即时加载内容,下拉滚动条或鼠标滚轮滚动到页面底部时, 动态即时加载新内容。主要是当滚动到居底部以上100像素时,就开始加载新内容了。

    PHP程序开发范例宝典III

    实例033 根据数据表结构自动生成数据录入页面 45 实例034 投票系统中单选按钮与复选框的应用 47 2.3 下拉列表的应用 50 实例035 在下拉菜单中显示数据表某列的字段值 50 实例036 在下拉菜单中显示数组中的...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后关闭此弹出窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());...

Global site tag (gtag.js) - Google Analytics