js学习(一)

setState参数

1
2
3
4
void setState(
function|object nextState,
[function callback]
)
  1. 第一个参数可以是一个函数也可以是一个对象,但是返回值都是下一个state的状态。
  2. 第二个参数为setState这个函数异步调用结束以后的回调函数,可以用在组件设置完state以后进行的操作。

js对网页滚动条的操作

  • js可以通过改变目标元素的scrollTop改变元素滚动条的位置
  • onWheel事件可以监听滚动条滚动事件,可以通过deltaXdeltaY属性获取滚动条滚动的位置和方向
  • onScroll事件可以监听滚动条事件,但是无法获取方向和滚动距离及位置
  • CSS中没有可以操作scrollTop值的属性

setInterval

setInterval定时执行函数,当先后创建多个定时器时可能不会按照你预想的顺序来执行,因为js是单线程的,只有当前一个任务执行完毕以后才能够继续执行下一任务,所以调用定时器的时间可能大于你预设的时间,由此造成调用定时器的混乱。

js实现动画

  • 通过js中的定时器不断的改变元素的位置和高度模拟动画效果
  • 通过一个定时器管理函数管理定时器的先后调用顺序或者通过dom2级时间removeEventLisenner函数让元素在js调用定时器期间失去时间响应解决定时器无法顺序调用的各种问题