@rinatoptimus

Как добавить класс элементу на JavaScript?

При скролле элементу добавляется класс, но при этом удаляются все имеющиеся у этого элемента классы. Как сделать так, чтобы новый класс добавлялся к существующим?

const mq = window.matchMedia( "(max-width: 767px)" );
		var left = document.getElementById("container-auth-logo");
		var stop = (left.offsetTop - 10);

		if (mq.matches) {
	  	window.onscroll = function (e) {
		    var scrollTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
		    if (scrollTop >= stop) {
		        left.className = 'stick';
		    } else {
		        left.className = '';
		    }
			}
		}


Пробовал так:
if (mq.matches) {
	  	window.onscroll = function (e) {
		    var scrollTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
		    if (scrollTop >= stop) {
		        //left.className = 'stick';
		        var classString = left.className;
		        //console.log(classString);
					  var newClass = classString.concat(" stick");
					  //console.log(newClass);
					  this.className = newClass;
					  console.log(this.className);
		    } else {
		        left.className = '';
		    }
			}
		}

Использовал подобные конструкции:
var el = document.getElementById('#container-auth-logo');
el[i].className += ' stick';

var el = document.getElementById('container-auth-logo');
  if(el) {
    el.className += el.className ? ' stick' : 'stick';
}

Ни один вариант не сработал.
Живой пример показать не могу.
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы