all files / src/utils/ domUtil.js

12.5% Statements 2/16
0% Branches 0/10
0% Functions 0/4
12.5% Lines 2/16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 281×                         1×                            
export let getOffset = function (el) {
  let box = el.getBoundingClientRect()
  let body = document.body
  let clientTop = el.clientTop || body.clientTop || 0
  let clientLeft = el.clientLeft || body.clientLeft || 0
  let scrollTop = window.pageYOffset || el.scrollTop
  let scrollLeft = window.pageXOffset || el.scrollLeft
  return {
    top: box.top + scrollTop - clientTop,
    left: box.left + scrollLeft - clientLeft
  }
}
 
export let transitionEnd = function (el, fun) {
  let arr = ['msTransitionEnd', 'mozTransitionEnd', 'oTransitionEnd', 'webkitTransitionEnd', 'transitionend']
  let handler = {
    handleEvent (event) {
      arr.forEach(function (eventName) {
        el.removeEventListener(eventName, handler, false)
      })
      fun.apply(el, arguments)
    }
  }
  arr.forEach(function (eventName) {
    el.addEventListener(eventName, handler, false)
  })
}