简单滚动javascript - 我可以干净地将一个类添加到多个其他类吗?

时间:2016-02-01 15:50:21

标签: javascript jquery

我只是想知道是否有办法压缩这个脚本?我的JS非常粗糙,但似乎我应该能够插入一个或运算符来为任何传递的类添加收缩类,但我似乎无法获得正确的语法。它似乎有很多冗余。

def hello = AuthenticatedAction { implicit request =>
  Ok("Hello")
}

或者有没有办法为给定元素的所有子元素添加一个类?

3 个答案:

答案 0 :(得分:7)

$(window).on('scroll', function() {
    $('nav, nav a, .navbar-brand').toggleClass('shrink', $(this).scrollTop() > 50);
});

使用multiple selector定位所有匹配元素,toggleClass根据第二个参数切换类,即“状态”。
this引用了事件处理程序中的window$(window).scrollTop() should be the same引用了$(document).scrollTop() 99.99%的时间。

答案 1 :(得分:1)

可能是这样的吗?

$(window).scroll(function() {
  if ($(document).scrollTop() > 50) {
       $('nav, .nav a, .navbar-brand').addClass('shrink');
    } 
  else {
       $('nav, .nav a, .navbar-brand').removeClass('shrink');
  }  
});

答案 2 :(得分:0)

你可以尝试:

$(window).scroll(function() {
    if ($(document).scrollTop() > 50) {
        $('nav, .nav a, .navbar-brand').addClass('shrink');
    } else {
        $('nav, .nav a, .navbar-brand').removeClass('shrink');
    }
});

看看: https://api.jquery.com/multiple-selector/