滚动轴滚动方向判断

开始时的判断代码,通过在滚动函数当中再监听一个滚动函数,然后判断前后的差值来判断是向上滚动还是向下滚动

changeIsDownStatus = () => {
    const listView = this.listView;
    const beforeScrollTop = listView.scrollTop;
    this.listView.addEventListener(‘scroll‘, () => {
      const afterScrollTop = listView.scrollTop;
      this.isDown = afterScrollTop > beforeScrollTop;
    });
  };

优化后的方法,通过当前的值减去缓存的值,然后再把缓存的值更新为当前的这种方式来判断滚动的方向,这种方式的性能比上面那种更好,同时代码更加的简洁

changeIsDownStatus = () => {
    const listView = this.listView;
    this.isDown = listView.scrollTop > this.beforeScrollTop;
    this.beforeScrollTop = listView.scrollTop;
    return this.isDown;
  };

原文地址:https://www.cnblogs.com/kugeliu/p/9205299.html

时间: 2024-10-12 08:22:46

滚动轴滚动方向判断的相关文章

【转载】UIScrollerView滚动方向判断

本文转载自Awei<UIScrollerView滚动方向判断> PushListView.h @interface PushListView : UIView<UITableViewDelegate,UITableViewDataSource { CGFloat contentOffsetY; CGFloat oldContentOffsetY; CGFloat newContentOffsetY; } ............................... PushListVi

Qt qml中listview 列表视图控件(下拉刷新、上拉分页、滚动轴)

Qt qml中listview 列表视图控件(下拉刷新.上拉分页.滚动轴) 来源 https://www.cnblogs.com/surfsky/p/4352898.html 设置ListView涉及到将contentsY,即视图的可见部分的顶部,设置y为委托的值.另一个更改是interactive将视图设置为false.这样可以防止视图移动.用户不能再滚动列表或更改当前Item. contentY为列表上拉后列表左上角点距显示框左上解点的高度listView1.height为可显示部分的高度,

qt qml scrollbar 移动APP风格的滚动轴

依附于Flickable组件的滚动轴    自动放置在恰当位置    拖动时显示,不动时消失Lisence: MIT 请保留此声明Author: surfsky.cnblogs.com 2014-12 [先看效果] [下载] http://download.csdn.net/detail/surfsky/8426563 [核心代码] 1 ScrollBar { 2 id: root 3 opacity: 0 4 orientation: Qt.Vertical 5 6 // 绑定到Flickab

用滚动轴代替锚点

获取某元素的具体顶部的问题 document.getElementById("yuansuId").offsetTop 滚动滚动轴到某元素问题 window.scrollTo(x,y) 以让两种 就可实现了.以下是记录 获取滚轴总高度 document.documentElement.scrollHeight $(window).scrollTop() //滚轴距顶部的距离

微信小程序之x轴滚动

10.1快乐 微信小程序之x轴滚动 具体请参考: https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html   原文地址:https://www.cnblogs.com/home-/p/11607078.html

flowLayoutPanel1设置内容随着鼠标滚动而滚动

当flowLayoutPanel1内容过多时,可以设置竖条,当时当鼠标滚动时,里面的内容不会随着鼠标的滚动而滚动,这就要求我们自己写事件了: 宗旨:判断鼠标是不是在flowLayoutPanel1区域内,如果在,设置flowLayoutPanel1的垂直滚动距离 给winform窗体加一个mousewheel监听事件 核心代码: private void Form1_MouseWheel(object sender, MouseEventArgs e) { //e.X e.Y以窗体左上角为原点,

移动端滑动方向判断

移动端滑动方向判断,主要是判断利用x,y轴方向的增量,哪个轴增的快,就是哪个方向. 在touchstart中获取初始点,startX, startY; 在touchmove中获取移动点,moveX, moveY 计算两者的差 deltaX = moveX - startX;  deltaY = moveY - startY; 之后累加deltaX和deltaY: distX += Math.abs(deltaX) distY += Math.abs(deltaY) if (distX > dis

(转)JS浮动窗口(随浏览器滚动而滚动)

原文:http://hi.baidu.com/aiyayaztt/item/4201c55a6b729dced2e10c79 JS浮动窗口(随浏览器滚动而滚动) 往往用于一些联系方式,互动平台模块,随着浏览器的滚动而滚动. <div id="AdLayer"> <p>窗口中的内容</p> </div> 放在<body>下面(页面最上面) JS代码 window.onload=function(){ var n=0;//top值

设置DIV随滚动条滚动而滚动

有段时间没有碰Web端了,最近做了个功能,需要做个DIV随滚动条滚动而滚动,mark一下: 源码: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml&quo