当前位置:首页 > 日记 > 正文

React操作真实DOM实现动态吸底部的示例

React操作真实DOM实现动态吸底部的示例

动态吸底:开始时fixed在页面上,当页面滚动到距离底部一定距离的时fixed部分固定。

这个是需要计算页面滚动距离的,如果使用Jquery或者原生js实现是非常好实现的,但是由于使用react并不推崇操作DOM,但是如果使用virtual DOM的话是无法实现该效果的,所以还是要引入js去直接获取DOM进行操作。

react在componentDidMount之后页面渲染完成,所以可以在这里面直接用js原生方法获取DOM元素,进而进行操作。

componentDidMount() { this.changeFixed()}//計算高度changeFixed(){ //getDOMNode const layoutNode = document.querySelectorAll('.page-layout')[0]; const orderPriceNode = document.querySelectorAll('.test-price')[0]; window.addEventListener('scroll', function (e) {  const windowInnerHeight = window.innerHeight;  const layoutNodeHeight = layoutNode.offsetHeight;  //滚动超出视野距离  let scrollTop = window.pageYOffset|| document.documentElement.scrollTop || document.body.scrollTop;  const distanceBottom = layoutNodeHeight - scrollTop - windowInnerHeight;  //120的时候吸底  if(distanceBottom <= 120){   orderPriceNode.classList.remove('fixed');  }else{   orderPriceNode.classList.add('fixed');  } })}

这样就实现了当距离底部120的时候吸底

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关文章

删除table表格行的实例讲解

删除table表格行的实例讲解

删除,表格,实例,电脑软件,table,实例如下:function getRowObj(obj){ while(obj.tagName.toLowerCase()!="tr") // toLowerCase转化小写 { obj=obj.parentNode; } // 得到父节点 return obj;}function sc(obj) // sc为点击事件{ var…

Photoshop设计超质感的橙色立体风

Photoshop设计超质感的橙色立体风

网页,橙色,质感,按钮,风格,button按钮作为网页设 UI设计中重要的一步也是最基础的一步,对设计来说有着重要的作用,按钮是否精致、是否和整体网页、UI相配合,对设计的好与坏有着很大的影响。近几年扁平化简洁化的趋势下,按钮越来越简单,但是不是…

利用vue+elementUI实现部分引入组

利用vue+elementUI实现部分引入组

方法,组件,详解,电脑软件,vue,前言vue.js的UI组件库,在git上有多个项目,我见的使用者比较多的是iView和Element.两个组件库,组件都很丰富。官网的介绍 iView: 一套基于 Vue.js 的高质量 UI 组件库 Element,一套为开发者、设计师和产品经理准…

Git提交文件到三个区的实现方法

Git提交文件到三个区的实现方法

提交,方法,文件,电脑软件,Git,大致介绍年过的差不多了,开始学习!Git有三个工作区域:◆ 工作区(Working Directory)◆ 暂存区(Stage)◆ 版本库(Repository)工作区(Working Directory)简单理解就是需要进行版本的某个文件夹,例如之前例子中的2048文件夹暂…

jquery中绑定事件的异同

jquery中绑定事件的异同

绑定事件,异同,电脑软件,jquery,谈论jquery中bind(),live(),delegate(),on()绑定事件方式1. Bind()$(selector).bind(event,data,function)Event:必须项;添加到元素的一个或多个事件。Data:可选;需要传递的参数Function:必需;当绑定事件发生时…

带你快速理解javascript中的事件模

带你快速理解javascript中的事件模

事件模型,带你,快速,电脑软件,javascript,javascript中有两种事件模型:DOM0,DOM2。而对于这两种的时间模型,我一直不是非常的清楚,现在通过网上查阅资料终于明白了一些。一. DOM0级事件模型DOM0级事件模型是早期的事件模型,所有的浏览器都是支…

excel 计算常数以E为底的指数函数

excel 计算常数以E为底的指数函数

教程,计算,指数函数,数以,电脑软件,  在Excel中经常需要用到公式函数进行数据统计,其中一个计算以E为底的指数函数,虽然不常用,但学到的也是自己掌握的,接下来是小编为大家带来的excel 计算常数以E为底的指数函数教程,供大家参考。excel 计算…

PHP 信号管理知识整理汇总

PHP 信号管理知识整理汇总

信号,管理知识,电脑软件,PHP,SIGQUIT 建立CORE文件终止进程,并且生成core文件SIGILL 建立CORE文件 非法指令SIGTRAP 建立CORE文件 跟踪自陷SIGBUS 建立CORE文件 总线错误SIGSEGV 建立CORE文件 段…

Jquery中.bind | 、.live | 、.del

Jquery中.bind | 、.live | 、.del

详解,区别,电脑软件,bind,Jquery,简介最近了解到很多网页开发者对jquery中的 .bind() .live() .delegate() 和 .on() 方法存在很多的疑惑。这些疑惑通常是关于它们之间真正的区别是什么啊,什么时候该使用它们啊。下面本文将给大家详细介绍这…

cdr怎么给制作水彩画效果?

cdr怎么给制作水彩画效果?

水彩画,效果,电脑软件,cdr,cdr中想要制作水彩画效果的图片,该怎么制作呢?下面我们就来看看详细的教程。软件名称:CorelDRAW X6 官方简体中文精简绿色便携版软件大小:176MB更新时间:2016-03-181、打开CorelDRAW软件,新建一个空白的文件,鼠标左键单…

怎么在Excel表格设置有效的的日期

怎么在Excel表格设置有效的的日期

日期,输入,设置,表格,电脑软件,  在excel表格中输入指定的日期,为了防止输入错误的日期,我们可以给表格设置输入范围。以下是小编为您带来的关于Excel表格设置有效的的日期输入范围,希望对您有所帮助。Excel表格设置有效的的日期输入范围1、…

微信小程序点击控件修改样式实例详

微信小程序点击控件修改样式实例详

控件,修改,详解,样式,实例,微信小程序点击控件修改样式实例详解现在要在微信小程序中实现点击控件修改样式,如下:微信小程序中不支持直接操作dom,要实现这种效果,我们需要通过设置data,然后利用数据和界面的双向绑定来实现它。第一步:在wxss中定…