以前眼高手低,不够扎实,面试的时候总是处理过,却想不出来细节,这次开始慢慢整理,蜗牛继续爬坡

CSS

一般情况下,如果出现内容大于浏览器的时候,需要添加样式  overflow:scroll

关于scroll的样式有以下可以根据需求调整:

滚动条的设置

1. ::-webkit-scrollbar 滚动条整体部分,可以设置宽度等

2. ::-webkit-scrollbar-button 滚动条两端的按钮

3. ::-webkit-scrollbar-track  外层轨道

4. ::-webkit-scrollbar-track-piece  内层滚动槽

5. ::-webkit-scrollbar-thumb 滚动的滑块

6. ::-webkit-scrollbar-corner 边角

7. ::-webkit-resizer 定义右下角拖动块的样式

根据需要添加scroll的容器,假设name为scrollPart ,则使用以上就可以修改样式,案例为以下:

.scrollPart::-webkit-scrollbar {width: 15px;height: 100%;
}
........

添加scroll事件

componentDidMount() {window.addEventListener('scroll', this.handleScroll, true);
}
componentWillUnmount() {window.removeEventListener('scroll', this.handleScroll, true);
}
handleScroll = e => {if (e.srcElement.getAttribute('class') === 'ant-table-body') return;const { scrollTop, clientHeight, scrollHeight } = e.srcElement;if (clientHeight < scrollHeight - scrollTop) {this.footer.style.position = 'fixed';this.footer.style.width = '79%';this.footer.style.paddingRight = '16px';this.footer.style.marginRight = '16px';} else {this.footer.style.position = 'absolute';this.footer.style.width = '100%';this.footer.style.marginRight = 0;}
};

在react中无法添加在具体的元素上的,在didmount和unmount生命钩子中无法获取到元素,无法实现监听

滚动穿透

当前页面有带滚动的弹窗,往往会因为window监听当弹窗滚动的时候触发遮罩层所覆盖页面的监听效果。这时候,就需要处理滚动穿透问题。

当modal内部的添加overflow:scroll 会被遮罩层所继承,继承后出现,两个滚动条:modal滚动条以及遮罩层滚动条,两种方法,一种是根据页面高度调整弹窗的高度,当弹窗的高度不会大于当前页面高度时,不会影响到外围的滚动条。另外一种就是网上所说的找到遮罩层对应的滚动条设置overflow:hidden,设置底部需不滑动页面为fixed

scroll事件详解相关推荐

  1. JavaScript事件详解-jQuery的事件实现(三)

    正文 本文所涉及到的jQuery版本是3.1.1,可以在压缩包中找到event模块.该篇算是阅读笔记,jQuery代码太长.... Dean Edward的addEvent.js 相对于zepto的e ...

  2. php jquery点击事件,jQuery操作html元素点击事件详解

    这次给大家带来jQuery操作html元素点击事件详解,jQuery操作html元素点击事件的注意事项有哪些,下面就是实战案例,一起来看一下. 移除或禁用html元素的点击事件可以通过css实现也可以 ...

  3. ASP.NET页面事件详解

    ASP.NET页面事件详解 ASP.NET页面事件详解 1.Page_Init()事件 当页面初始化时发生此事件.可以利用Page_Init()将该事件与要在.NET页面上显示控件之前的运行的代码建立 ...

  4. WPF中的鼠标事件详解

    WPF中的鼠标事件详解 Uielement和ContentElement都定义了十个以Mouse开头的事件,8个以PreviewMouse开头的事件,MouseMove,PreviewMouseMov ...

  5. Spring Data JPA 从入门到精通~Auditing及其事件详解

    Auditing 及其事件详解 Auditing 翻译过来是审计和审核,Spring 的优秀之处在于帮我们想到了很多繁琐事情的解决方案,我们在实际的业务系统中,针对一张表的操作大部分是需要记录谁什么时 ...

  6. 移动端开发touchstart,touchmove,touchend事件详解和项目

    移动端开发touchstart,touchmove,touchend事件详解和项目 最近在做移动端的开发,在一个"服务商管理"页面使用到了触摸事件"touchstart& ...

  7. SQL Server 默认跟踪 -- 捕获事件详解

    SQL Server 默认跟踪 -- 捕获事件详解 哪些具体事件默认跟踪文件能够捕获到? --returns full list of events SELECT * FROM sys.trace_e ...

  8. android 拖动 点击事件,Android事件详解——拖放事件DragEvent

    1.Android拖放框架的作用? 利用Android的拖放框架,可以让用户用拖放手势把一个View中的数据移到当前layout内的另一个View中去. 2.拖放框架的内容? 1)拖放事件类 2)拖放 ...

  9. element 问号_element ui 对话框el-dialog关闭事件详解

    element ui 对话框el-dialog关闭事件详解 通常会有需求,在关闭弹框后需要清空填写的数据,这时候就需要关闭事件了 在标签中加入@close='closeDialog' mothods中 ...

最新文章

  1. qt调用c语言编写的dll文件,Qt之调用外部DLL - moki_oschina的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. Bootstrap简介--目前最受欢迎的前端框架(一)
  3. spring aop与strut2的拦截器冲突
  4. RCP:给GEF编辑器添加网格和标尺。
  5. jquery 停止事件冒泡方法
  6. linux怎么给目录创建acl,LINUX-ACL文件访问控制列表
  7. new,malloc,GlobalAlloc详解
  8. chrome中文本框样式问题
  9. gulp教程之gulp-minify-css
  10. CImageList用法介绍 (zz)
  11. 【Python刷题篇】——Python入门 01 输入输出
  12. ISILON OneFS CLI界面网络配置
  13. 自然语言处理(七)——n元语法模型计算句子出现概率
  14. uniapp微信小程序登陆方法
  15. 操作Windows文件夹时,弹出文件夹正在使用,操作无法完成【解决】
  16. windows蓝牙编程——1 扫描周边蓝牙并获取蓝牙信息
  17. VMware View for iPad,上座率最高的iPad免费软件
  18. WordPress 如何判断访客浏览器显示不同内容
  19. web开发学习,HTML标签语义化
  20. 成都计算机专科学院分数线,成都计算机工业职业技术学校2019年招生录取分数...

热门文章

  1. c语言程序设计正方体,2015年第六届蓝桥杯C/C++程序设计本科B组决赛 完美正方形...
  2. php网站分工,如何网页设计分工
  3. 免费提供一个完整股票分析软件源码(包含开发文档)
  4. Nuxt.js 开发SSR(服务端渲染)Web应用
  5. 安装descriptastorus
  6. DMediaPlayer - 简单的VLC前端播放器
  7. 《恋爱的犀牛》情节和语录
  8. 【汇正财经】指数分化,科创50、创业板强势
  9. 技术分享 oracle中fm的作用
  10. 公告:csdn学院《小白快速入门系列》线上课程,全部一折,最高6元!