react-zoom-children
Version:
react-zoom-children for react
68 lines (61 loc) • 1.5 kB
JavaScript
export var cursor = {
default: 'auto',
zoomIn: 'zoom-in',
zoomOut: 'zoom-out',
grab: 'grab',
move: 'move'
};
export function listen(el, event, handler) {
var add = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
var options = {
passive: false
};
if (add) {
el.addEventListener(event, handler, options);
} else {
el.removeEventListener(event, handler, options);
}
}
export function setStyle(el, styles, remember) {
if (styles.transition) {
var value = styles.transition;
delete styles.transition;
styles.transition = value;
}
if (styles.transform) {
var _value = styles.transform;
delete styles.transform;
styles.transform = _value;
}
var s = el.style;
var original = {};
Object.keys(styles).forEach(function (key) {
if (remember) {
original[key] = s[key] || '';
}
s[key] = styles[key];
});
return original;
}
/** 获取变量类型
* @param {*} obj
*/
export function getType(obj) {
var toString = Object.prototype.toString;
var map = {
'[object Boolean]': 'boolean',
'[object Number]': 'number',
'[object String]': 'string',
'[object Function]': 'function',
'[object Array]': 'array',
'[object Date]': 'date',
'[object RegExp]': 'regExp',
'[object Undefined]': 'undefined',
'[object Null]': 'null',
'[object Object]': 'object'
};
if (obj instanceof Element) {
return 'element';
}
return map[toString.call(obj)];
}