`

纯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);
        });
      }
    }

 

分享到:
评论

相关推荐

    vue 使用鼠标滚动加载数据的例子

    在Vue.js应用中,实现鼠标滚动加载数据是一种常见的优化用户体验的方法,特别是在处理大量数据列表时。这种方法被称为“无限滚动”或“滚动加载”。通过监听滚动事件,当用户接近页面底部时,可以动态加载更多数据,...

    无刷新联级,滚动条滚动加载数据

    滚动条滚动加载数据,也称为“无限滚动”或“瀑布流加载”,是当用户滚动到页面底部时,新的内容自动加载到页面下方。这种设计模式常用于社交媒体、新闻网站和电商产品列表等,让用户可以无缝浏览大量内容。实现这一...

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

    在网页开发中,为了优化用户体验和减轻服务器压力,常常会使用一种称为“无限滚动”或“滚动加载”的技术。这种技术允许用户在滚动页面至底部时自动加载更多内容,而无需点击分页按钮。本文将详细讲解如何使用jQuery...

    利用JS+CSS实现滚动表格数据展示

    当用户滚动到表格底部时,会触发该函数,加载新的数据行。 此外,为了提高用户体验,可以考虑优化滚动性能。例如,使用虚拟滚动技术,只渲染可视区域内的数据行,而非一次性加载所有数据。这可以通过计算视口高度、...

    鼠标滚动至底部展示内容

    标题“鼠标滚动至底部展示内容”涉及到的是网页交互设计中的一种常见功能,即无限滚动或称为滚动加载。这种设计允许用户在浏览页面时,当滚动到页面底部时自动加载更多内容,无需点击“加载更多”按钮。这在数据量大...

    jQuery类似微博信息更新鼠标滚动页面无限加载更多内容

    "jQuery类似微博信息更新鼠标滚动页面无限加载更多内容"这个主题,就是关于如何利用jQuery实现一个动态加载机制,即“滚动加载”或“懒加载”,让用户在浏览时无需翻页,只需滚动页面就能自动加载更多内容。...

    鼠标滚轮到最底端继续加载新数据思路

    "鼠标滚轮到最底端继续加载新数据思路"是一种优化用户体验的技术,通常被称为“无限滚动”或“滚动加载”。这种技术允许用户在不离开当前页面的情况下,只需滚动页面至底部,系统就会自动加载更多的内容,为用户提供...

    HTML5鼠标滚动变成双屏模板

    "HTML5鼠标滚动变成双屏模板"是利用HTML5的特性,结合CSS3和JavaScript,实现的一种创新网页设计模式。这个模板允许用户在滚动鼠标时,页面会呈现出独特的视差滚动效果,并从全屏转变为双屏显示,这种效果为用户提供...

    webapp滚动 上下滑动加载数据

    对于滚动加载数据的页面,可能包含设置滚动容器的样式,比如高度、溢出隐藏等,以便配合iScroll工作。 6. **HTML结构**:`index.html`和`result.html`是网页的结构文件。`index.html`可能是主页面,包含了初始的...

    html5实现的页面滚动图片动画加载特效源码.zip

    另外,JavaScript(通常与jQuery库一起使用)是实现滚动加载特效的关键。通过监听滚动事件,如`$(window).scroll()`,我们可以检测用户何时接近预设的图片区域。一旦满足条件,JavaScript可以触发加载动画,并使用...

    jquery仿新浪微博鼠标滚动到底部加载内容.rar

    【jQuery仿新浪微博鼠标滚动到底部加载内容】是一个常见的网页动态加载技术,主要应用于社交媒体和新闻网站,以提高用户体验。在用户滚动页面至底部时,无需手动点击“加载更多”按钮,内容会自动分页加载,这被称为...

    JavaScript动态页面制作

    比如平滑滚动、淡入淡出、滑动门等,这些效果为网页增添美观性,使得页面动态展示更加吸引人。 5. jQuery库:虽然JavaScript本身足够强大,但jQuery简化了许多常见的DOM操作和事件处理,提供了便捷的动画方法,使得...

    js图片缩放效果制作鼠标滚动图片等比例缩放代码.zip

    "js图片缩放效果制作鼠标滚动图片等比例缩放代码"是一个JavaScript实现的项目,它旨在提供一种动态的、响应式的图片展示解决方案,特别是在用户滚动页面时,图片能按照其原始比例进行平滑缩放。这个项目的核心目标是...

    JS鼠标滚动分页效果示例

    JavaScript中的鼠标滚动分页是一种优化大量数据加载的技术,它避免了一次性加载所有数据导致页面加载缓慢的问题。在网页开发中,特别是在展示大量列表或表格数据时,分页尤为重要,因为它提高了用户体验,使得用户...

    上拉滚动条 异步加载组件

    上拉滚动条异步加载组件,也称为无限滚动或滚动加载,是现代Web应用和移动应用中常见的一种设计模式。这种技术允许用户在滚动到页面底部时动态加载更多内容,而不是一次性加载所有数据,从而提高了页面性能并减少了...

    滚动鼠标到底部增加页面内容

    标题中的“滚动鼠标到底部增加页面内容”是一个常见的网页交互设计功能,通常称为“无限滚动”或“滚动加载”。这种技术允许用户在浏览网页时,无需点击分页按钮,只需将鼠标滚轮滚动到页面底部,页面内容就会自动...

    JS+CSS结合的多个随鼠标滚动的浮动层代码

    这个项目利用JavaScript(JS)的事件监听和CSS的定位属性,使得浮动层能跟随用户的鼠标滚动而保持在屏幕的特定位置,从而增加交互性和视觉吸引力。 首先,我们要理解`div`元素在HTML中的作用。`div`是一个通用的...

    Javascript:通用不间断滚动&省、市、地区联动选择JS封装类

    在JavaScript中,可以使用`window.onscroll`事件来监听滚动,结合DOM操作(如`appendChild`或`insertBefore`)将新内容添加到页面中。同时,为了优化性能,需要使用防抖(debounce)或节流(throttle)函数来限制...

    H5上拉下拉加载数据,带js模拟数据

    上拉加载,也称为无限滚动或滚动加载,是指当用户滚动页面到底部时,新的内容自动加载并显示在当前视窗下方。下拉加载则相反,用户在页面顶部下拉时,新内容出现在上方。这种设计主要用于处理大量数据,如社交媒体...

Global site tag (gtag.js) - Google Analytics