yunser-ui-vue
Version:
material design ui for vue2
28 lines (26 loc) • 875 B
JavaScript
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)
})
}