Jquery addClass不适用

Jquery addClass不适用,jquery,html,css,Jquery,Html,Css,$function{ $window.scroll函数{ 如果$window.scrollTop>300{ $'nav'.addClass'shrink'; console.log1; }否则{ $'nav'.addClass'shrink'; 控制台2.log2 } }; }; .导航{ 边际上限:0px; 边缘底部:0px; 背景色:ffffff; 盒影:0px 1px 4px 555555; 颜色:000000; 列表样式:无; 文本对齐:右对齐; 填充:10px 0 10px 0; 宽度

$function{ $window.scroll函数{ 如果$window.scrollTop>300{ $'nav'.addClass'shrink'; console.log1; }否则{ $'nav'.addClass'shrink'; 控制台2.log2 } }; }; .导航{ 边际上限:0px; 边缘底部:0px; 背景色:ffffff; 盒影:0px 1px 4px 555555; 颜色:000000; 列表样式:无; 文本对齐:右对齐; 填充:10px 0 10px 0; 宽度:100%; 高度:50px; 位置:固定; z指数:99; } .收缩{ 高度:20px; 背景色:000000; }
你的目标不正确

$'nav'应为$'.nav'


正如@Rick指出的,nav是不正确的,else语句也是不正确的,它应该删除else语句中的类

$(function() {
  $(window).scroll(function() {

    if ($(window).scrollTop() > 300) {
      $('.nav').addClass('shrink');
      console.log(1);
    } else {
      $('.nav').removeClass('shrink');
      console.log(2)
    }
  });
});
顺便说一句,这可以通过三元语句很好地实现

$(function() {
  $(window).scroll(function() {
       $(window).scrollTop() > 300 ? $('.nav').addClass('shrink') : $('.nav').removeClass('shrink');
  });
});
$(function() {
  $(window).scroll(function() {
       $(window).scrollTop() > 300 ? $('.nav').addClass('shrink') : $('.nav').removeClass('shrink');
  });
});