class.js 563 B

12345678910111213141516171819202122
  1. export const hasClass = function(obj, cls) {
  2. return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
  3. };
  4. export const addClass = function(obj, cls) {
  5. if (!hasClass(obj, cls)) obj.className += ' ' + cls;
  6. };
  7. export const removeClass = function(obj, cls) {
  8. if (hasClass(obj, cls)) {
  9. const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
  10. obj.className = obj.className.replace(reg, ' ');
  11. }
  12. };
  13. export const toggleClass = function(obj, cls) {
  14. if (hasClass(obj, cls)) {
  15. removeClass(obj, cls);
  16. } else {
  17. addClass(obj, cls);
  18. }
  19. };