如何基于视口中的部分将类添加到body标签

杰伊迪普

嘿,我是jquery的新手,我被卡住了,我有这样的html

<section id="help">Help</section>
<section id="touch">Touch</section>
<section id="payment">Payment</section>
<section id="toys">Toys</section>

因此,现在如果触摸部分在视口中,则将类添加到主体(主体类名称为“ touch-active ”)

我正在尝试此代码,但对我不起作用:

jQuery(document).ready(function(){
   if (jQuery('section').is(':visible')){
         jQuery('body').addClass(.attr('id + active'));;
    }
 });

提前致谢 :)

罗里·麦克罗森(Rory McCrossan)

为此,您可以使用IntersectionObserver来检测何时有元素进入视图。在此处,您可以从中删除所有类,body并根据visible替换为新类section试试这个:

var targets = document.querySelectorAll('section')
var obsOptions = {
  root: null, // measure against the viewport
  threshold: .5 // how much of the element should be visible before handler is triggered
}

let handler = (entries, opts) => {
  entries.forEach(entry => {
    if (entry.intersectionRatio > opts.thresholds[0]) {
      document.body.classList.remove(...document.body.classList);
      document.body.classList.add(entry.target.id + '-active');
    }
  })
}

targets.forEach(el => {
  var observer = new IntersectionObserver(handler, obsOptions);
  observer.observe(el);
})
section {
  height: 250px;
}

body.help-active { background-color: #FFFFFF; }
body.touch-active { background-color: #DDDDDD; }
body.payment-active { background-color: #BBBBBB; }
body.toys-active { background-color: #999999; }
<section id="help">Help</section>
<section id="touch">Touch</section>
<section id="payment">Payment</section>
<section id="toys">Toys</section>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用PHP将类添加到body标签

来自分类Dev

根据视口高度将类添加到body元素

来自分类Dev

根据视口高度将类添加到body元素

来自分类Dev

WPF如何将项目添加到基于Windows模板的窗口中?

来自分类Dev

在Vue.js 2.0中将CSS类添加到HTML或BODY标签

来自分类Dev

如何在yii2中的布局中将CSS类添加到body标签?

来自分类Dev

我们如何将下载属性添加到 <body></body> 标签中的所有 <a> 标签(使用 JavaScript)?

来自分类Dev

将HTML代码添加到body标签的Javascript代码

来自分类Dev

如何将基于条件的 href 添加到 AngularJs 中的 <a> 标签

来自分类Dev

将Woocommerce父类别添加到WP'body'类

来自分类Dev

使用JavaScript将类添加到“ body”

来自分类Dev

将类动态添加到基于符号的值

来自分类Dev

如何仅使用JavaScript将JavaScript动态地添加到“ body”类?

来自分类Dev

如何基于活动锚自动将类添加到链接?

来自分类Dev

标签导航(将类添加到打开的项目菜单)

来自分类Dev

rails 4:将类添加到选择标签

来自分类Dev

Woocomerce - 将类添加到输入标签

来自分类Dev

将类添加到与标签文本匹配的父 div

来自分类Dev

如何将独立于类的标签添加到XML序列化中

来自分类Dev

单击时如何将类添加到正文标签

来自分类Dev

如何使用 Symfony 表单将类添加到标签元素?

来自分类Dev

如何将标签添加到 textField 类或动画占位符

来自分类Dev

当部分更改时,将活动类添加到菜单

来自分类Dev

如何将未使用的泛型参数添加到接口中会阻止实现该接口的类?

来自分类Dev

向上和向下滚动时将类添加到视口 Div

来自分类Dev

如何基于if条件将HTML添加到模板?

来自分类Dev

使用javascript中的body标签ID将文本添加到<p>标签

来自分类Dev

HTML CSS如何将视口信息添加到层叠样式表?

来自分类Dev

如何使用WindowBuilder将标签添加到JTabbedPane

Related 相关文章

  1. 1

    使用PHP将类添加到body标签

  2. 2

    根据视口高度将类添加到body元素

  3. 3

    根据视口高度将类添加到body元素

  4. 4

    WPF如何将项目添加到基于Windows模板的窗口中?

  5. 5

    在Vue.js 2.0中将CSS类添加到HTML或BODY标签

  6. 6

    如何在yii2中的布局中将CSS类添加到body标签?

  7. 7

    我们如何将下载属性添加到 <body></body> 标签中的所有 <a> 标签(使用 JavaScript)?

  8. 8

    将HTML代码添加到body标签的Javascript代码

  9. 9

    如何将基于条件的 href 添加到 AngularJs 中的 <a> 标签

  10. 10

    将Woocommerce父类别添加到WP'body'类

  11. 11

    使用JavaScript将类添加到“ body”

  12. 12

    将类动态添加到基于符号的值

  13. 13

    如何仅使用JavaScript将JavaScript动态地添加到“ body”类?

  14. 14

    如何基于活动锚自动将类添加到链接?

  15. 15

    标签导航(将类添加到打开的项目菜单)

  16. 16

    rails 4:将类添加到选择标签

  17. 17

    Woocomerce - 将类添加到输入标签

  18. 18

    将类添加到与标签文本匹配的父 div

  19. 19

    如何将独立于类的标签添加到XML序列化中

  20. 20

    单击时如何将类添加到正文标签

  21. 21

    如何使用 Symfony 表单将类添加到标签元素?

  22. 22

    如何将标签添加到 textField 类或动画占位符

  23. 23

    当部分更改时,将活动类添加到菜单

  24. 24

    如何将未使用的泛型参数添加到接口中会阻止实现该接口的类?

  25. 25

    向上和向下滚动时将类添加到视口 Div

  26. 26

    如何基于if条件将HTML添加到模板?

  27. 27

    使用javascript中的body标签ID将文本添加到<p>标签

  28. 28

    HTML CSS如何将视口信息添加到层叠样式表?

  29. 29

    如何使用WindowBuilder将标签添加到JTabbedPane

热门标签

归档