Задать вопрос
@gpyshenko

В чем проблема Uncaught TypeError: Cannot read property 'cloneNode' of null?

Не могу понять, делал скрипт, то есть я создаю клон элемента, и при скролле вниз ниже оригинального элемента, клон должен выехать. Сделал на codeopen все работает, закидываю скрипт в проект вываливаются ошибки не могу понять совсем((
Использую галп вот с такими тасками:
gulp.task('js', function(){
	return gulp.src(['./src/js/bundle.js'])
		.pipe(concat('bundle.js'))
		.pipe(uglyfly())
		.pipe(gulp.dest('./dist/js'));
});

Вот ошибки:
1) Uncaught TypeError: Cannot read property 'cloneNode' of null
2) Uncaught TypeError: Cannot read property 'getBoundingClientRect' of null
Ниже уже как выглядит код в проекте.
<div id="wrapper">
      <div class="container">
        <header>
          <a class="logo" href="#"><img src="../assets/images/logo/logo.png"></a>
          <div class="nav">
            <a class="nav-link" href="index.html">Дом</a>
            <a class="nav-link" href="#">О нас</a>
            <a class="nav-link" href="services.html">Услуги</a>
            <a class="nav-link" href="#">Полезное</a>
            <a class="nav-link" href="#">Контакты</a></div>
        </header>
        <div class="content"></div>
      </div>
    </div>
    <script src="../js/bundle.js" defer></script>

var wrapper = document.querySelector('#wrapper'),
	header = document.querySelector('.header'),
	scrollToBottom = header.getBoundingClientRect().bottom + window.pageYOffset,
	floatHeader = header.cloneNode(true);
header.parentNode.insertBefore(floatHeader, header.nextSibling);

if(!wrapper.classList.contains('startWrapper')) {

	window.onscroll = function() {
		if (window.pageYOffset > scrollToBottom) {

			floatHeader.classList.add('floatHeader');
		} else {
			floatHeader.classList.remove('floatHeader');
		}
	};
}
  • Вопрос задан
  • 3322 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
alexey_bille
@alexey_bille
Web developer
Нужно добавить header'у класс header
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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