jquery - addClass 不适用

标签 jquery html css

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

    if ($(window).scrollTop() > 300) {
      $('nav').addClass('shrink');
      console.log(1);
    } else {
      $('nav').addClass('shrink');
      console.log(2)
    }
  });
});
.nav {
  margin-top: 0px;
  margin-bottom: 0px;
  background-color: #ffffff;
  box-shadow: 0px 1px 4px #555555;
  color: #000000;
  list-style: none;
  text-align: right;
  padding: 10px 0 10px 0;
  width: 100%;
  height: 50px;
  position: fixed;
  z-index: 99;
}

.shrink {
  height: 20px;
  background-color: #000000;
}
<link rel="stylesheet" type="text/css" href="styles.css">
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.1.min.js"></script>
<script src="app.js"></script>
<ul class="nav">
  <div class="logo">
    <a href=""> <img src="img/logo.png"></a>
  </div>
  <div class="name"> <a href=""> YE AN EDUCATION </a> </div>
  <li> <a href="#">HOME</a></li>
  <li> <a href="#">ABOUT</a></li>
  <li> <a href="#">SERVICES</a></li>
  <li> <a href="#">CONTACT</a></li>
</ul>

jQuery 代码执行良好,所有 if 语句都有效。问题是样式不适用,我不知道为什么。即使使用“!important”也无济于事。

最佳答案

您的目标不正确..

$('nav') 应该是 $('.nav')

$(function() {
    $(window).scroll(function() {
        if ($(window).scrollTop() > 300) {
            $('.nav').addClass('shrink');
            console.log(1);
        } else {
            $('.nav').addClass('shrink');
            console.log(2)
        }
    });
});

关于jquery - addClass 不适用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42776566/

相关文章:

javascript - 按值从数组中删除一个项目,但保留该项目的重复项

PHP CSS Color Shuffle 数组?

javascript - 动态显示 HTML 页面 AngularJS

C# 代码 : Is this how ASP. NET AJAX 脚本可以工作吗?

javascript - 是否可以使用 Django 从 JS 文件中包含 CSS(这是棘手的部分)?

jquery - 如何淡入背景图像?

javascript - HTML 文本框输入 - 单击时始终选择所有文本

html - Svg 标签水平间隙

html - SVG图像作为背景图像时如何修改填充颜色?

html - 在 Gmail 中将 HTML 电子邮件正文居中