TypeError:tn.add / removeClass不是函数

时间:2017-12-22 09:50:47

标签: javascript jquery html

我想制作一个"粘性"为我的网站导航funktion,当你向下滚动导航栏顶部的横幅消失时,导航栏会粘在上面。

我已经创建了这个脚本:

var tn = ".topnav"
var tns = ".topnav-scrolled"
var kz = $('#kopfzeile').height();
console.log("tn: " + tn);
console.log("tns: " + tns);
$(window).scroll(function() {
  if ($(this).scrollTop() > kz) {
    tn.addClass(tns);
  } else {
    tn.removeClass(tns);
  }
});

错误是:

  

TypeError:tn.removeClass不是函数

  

TypeError:tn.removeClass不是函数

2 个答案:

答案 0 :(得分:2)

您的不是函数错误,因为tn只是一个字符串(选择器),您无法在其上调用removeClass()方法,你应该将它$()包装成jQuery对象,应该是:

$(tn).addClass(tns);
//And
$(tn).removeClass(tns);

答案 1 :(得分:0)

 var tn = ".topnav"
 var tns = ".topnav-scrolled"
 var kz = $('#kopfzeile').height();
 console.log("tn: " + tn);
 console.log("tns: " + tns);
 $(window).scroll(function() {
 if ($(this).scrollTop() > kz) {
 $(tn).addClass(tns);
  } else {
 $(tn).removeClass(tns);
 }
 });