Javascript 未捕获的TypeError:无法读取null的属性“classList”
嗨,我试图制作一个缩小的头,我几乎让它工作,但我不断得到上述错误,这一节的js文件Javascript 未捕获的TypeError:无法读取null的属性“classList”,javascript,jquery,Javascript,Jquery,嗨,我试图制作一个缩小的头,我几乎让它工作,但我不断得到上述错误,这一节的js文件 var cbpAnimatedHeader = (function() { var docElem = document.documentElement, header = document.querySelector( '.cbp-af-header' ), didScroll = false, changeHeaderOn = 300; function init() {
var cbpAnimatedHeader = (function() {
var docElem = document.documentElement,
header = document.querySelector( '.cbp-af-header' ),
didScroll = false,
changeHeaderOn = 300;
function init() {
window.addEventListener( 'scroll', function( event ) {
if( !didScroll ) {
didScroll = true;
setTimeout( scrollPage, 250 );
}
}, false );
}
function scrollPage() {
var sy = scrollY();
if ( sy >= changeHeaderOn ) {
var windowtab = $(window).width();
if (windowtab >= 1021)
{
classie.add( header, 'cbp-af-header-shrink' );
}
}
else {
classie.remove( header, 'cbp-af-header-shrink' );
}
didScroll = false;
}
function scrollY() {
return window.pageYOffset || docElem.scrollTop;
}
init();
})();
及
当我为jQuery添加一个模块时,我让它在DNN中工作,但是当我将它放到皮肤上时,我最终遇到了上面的控制台错误,脚本中的这一行:
header = document.querySelector('.cbp-af-header')
它表示,将返回该类文档中的第一个元素
因此,您可能正在寻找。querySelectorAllselector/s:
返回文档中提供的所有元素div的列表。我遇到了相同的问题。我意识到IIFE是在DOM完全加载之前执行的。如果要使用jQuery,请尝试将其包装在$document中。就绪如果要包括jQuery,为什么不在其他地方使用jQuery?这个错误是从哪里来的?它不是直接来自你发布的任何代码。是来自jQuery吗?上面的代码中没有“类列表”。。。它扔到哪里了?你能做一个标记吗?如果你没有显示错误发生的代码,我们也帮不上忙,但是根据猜测,看看你提供了什么,header是空的,因为当你执行header=document.querySelector.cbp af header行时,文档中没有匹配的元素。也许您需要将脚本移到页面末尾。@T.J.Crowder谢谢您的评论。将所有JS脚本移动到页面末尾;是解决方案。elem.classList.remove c;出现错误,删除未定义
header = document.querySelector('.cbp-af-header')
document.querySelectorAll(".cbp-af-header");