mintui-toast
Version:
mintui toast Condensed version
68 lines (56 loc) • 1.68 kB
JavaScript
export function addClass (el, className) {
if (hasClass(el, className)) {
return
}
let classArr = el.className.indexOf(' ') < 0 ? [el.className] : el.className.split(' ');
classArr.push(className)
el.className = classArr.join(' ').replace(/ /g,' ')
}
export function removeClass (el, className) {
let els = document.getElementsByClassName(el)
for (let i = 0; i < els.length; i++) {
let classNames = className.indexOf(',')==-1?[className]:className.split(',')
for(let j = 0; j < classNames.length;j++){
if (hasClass(els[i], className) && classNames[j] == className){
els[i].setAttribute('class', els[i].getAttribute('class').replace(classNames[j], ''))
}
}
}
}
export function hasClass (el, className) {
let reg = new RegExp('(^|\\s)' + className + '(\\s|$)')
return reg.test(el.className)
}
export function getData (el, name, value) {
const attr = 'data-' + name
if (value) {
return el.setAttribute(name, value)
} else {
return el.getAttribute(attr)
}
}
let elementStyle = document.createElement('div').style
let vendor = (() => {
let transformNames = {
webkit: 'webkitTransform',
Moz: 'MozTransform',
O: 'OTransform',
ms: 'msTransform',
standard: 'transform'
}
for (let key in transformNames) {
if (elementStyle[transformNames[key]] !== undefined) {
return key
}
}
return false
})()
export function prefixStyle (style) {
if (vendor === false) {
return false
}
if (vendor === 'standard') {
return style
}
return vendor + style.charAt(0).toUpperCase() + style.substr(1)
}