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

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 jQuery 的 `mousewheel` 插件来实现鼠标滚轮控制横向滚动条的滚动。 首先,需要在页面中引入 `jquery.mousewheel.js` 文件: ```html <script src="/path/to/jquery.mousewheel.js"></script> ``` 然后,可以通过以下方式来使用 `mousewheel` 插件: ```javascript $(selector).mousewheel(function(event, delta, deltaX, deltaY) { // 处理滚轮事件 }); ``` 其中,`selector` 是要绑定滚轮事件的元素的选择器,`deltaX` 变量表示横向滚动的距离,当鼠标滚轮向左滚动时,`deltaX` 为负数;当鼠标滚轮向右滚动时,`deltaX` 为正数。 例如,下面的代码可以使用鼠标滚轮向左或向右滚动一个横向滚动条: ```javascript $('#scrollbar').mousewheel(function(event, delta, deltaX, deltaY) { // 将滚动条向左或向右滚动一段距离 $('#scrollbar').scrollLeft($('#scrollbar').scrollLeft() - deltaX); }); ``` 希望这能帮到你! ### 回答2: 要实现在jquery中使用鼠标滚轮滚动横向滚动条,首先需要引入jquery库文件。接下来,通过jquery选择器选中需要添加横向滚动条的元素。然后,使用jquery的scrollLeft()方法获取当前元素的水平滚动位置。 接着,使用jquery的on()方法监听鼠标滚轮事件。在事件处理程序中,调用event对象的preventDefault()方法阻止默认的滚轮行为,然后判断滚轮滚动的方向。如果向上滚动,则将scrollLeft属性减去一个固定值,使元素向左滚动;如果向下滚动,则将scrollLeft属性加上一个固定值,使元素向右滚动。 最后,使用jquery的animate()方法实现平滑的滚动效果。在滚动处理程序中,使用animate()方法将scrollLeft属性过渡到新的值,并设置过渡时间和缓动效果。 示例代码如下: ```javascript // 引入jquery库文件 // 选中需要添加横向滚动条的元素 var element = $('.scrollable-element'); // 获取当前水平滚动位置 var scrollPosition = element.scrollLeft(); // 监听鼠标滚轮事件 element.on('mousewheel DOMMouseScroll', function(event) { // 阻止默认的滚轮行为 event.preventDefault(); // 判断滚轮滚动方向 var delta = event.originalEvent.wheelDelta || -event.originalEvent.detail; if (delta > 0) { // 向上滚动 scrollPosition -= 50; // 固定值,调整滚动速度 } else { // 向下滚动 scrollPosition += 50; // 固定值,调整滚动速度 } // 平滑滚动效果 element.stop().animate({ scrollLeft: scrollPosition }, 500); // 过渡时间和缓动效果,可根据需要调整 }); ``` 以上就是使用jquery实现横向滚动条使用鼠标滚轮滚动的方法。根据实际需求,可以调整滚动速度和过渡效果。 ### 回答3: jQuery可以使用插件来实现横向滚动条使用鼠标滚轮滚动的功能。常用的插件有mCustomScrollbar和perfect-scrollbar等。 使用mCustomScrollbar插件,首先需要引入jQuery和mCustomScrollbar的相关文件。然后,在需要加入横向滚动条的元素上添加一个class,比如"scrollbar"。接着,使用以下代码来初始化滚动条: $(".scrollbar").mCustomScrollbar({ horizontalScroll: true, // 启用横向滚动 axis: "x", // 指定滚动轴为水平方向 mouseWheel: { // 鼠标滚轮参数设置 enable: true, // 启用鼠标滚轮滚动 axis: "x" // 指定滚动轴为水平方向 } }); 这样,当鼠标滚轮滚动时,横向滚动条就会相应地进行滑动。 对于perfect-scrollbar插件,使用方法类似。首先引入jQuery和perfect-scrollbar的相关文件,然后在需要加入横向滚动条的元素上添加一个class,比如"scrollbar"。接着,使用以下代码来初始化滚动条: $(".scrollbar").perfectScrollbar({ wheelSpeed: 0.5, // 设置滚动速度,数值越大滚动速度越快 wheelPropagation: true, // 是否允许滚动滚动时冒泡到父元素 horizontal: true // 启用横向滚动 }); 这样,鼠标滚轮滚动时,横向滚动条就会相应地进行滑动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值