javascript - 基于滚动更改类 - 不使用 JQuery

标签 javascript jquery-waypoints

我是 Javascript 新手,正在尝试在不使用 JQuery 的情况下制作 JQuery Waypoints 滚动效果。

这是我对 Waypoints 的了解,它正在工作,但我不想依赖 Vanilla JS 以外的任何东西:

// Change masthead logo size when .intro enters/exits

$.each(['Logo-waypoint'], function(i, classname) {
var $elements = $('.' + classname)

$elements.each(function() {
    new Waypoint.Inview({
        element: this,
        entered: function(direction) {
            $('.kracked-header').removeClass('kracked-header--compact');
        },
        exit: function(direction) {
            $('.kracked-header').addClass('kracked-header--compact');
      },
        group: classname
    })
  })
});

有没有办法将其更改为常规 Javascript?

最佳答案

这应该会让你非常接近。

['Logo-waypoint'].forEach(function(classname, i) {
    var elements = document.querySelectorAll('.' + classname);

    elements.forEach(function() {
        new Waypoint.Inview({
            element: this,
            entered: function(direction) {
                document.querySelectorAll('.kracked-header').classList.remove('kracked-header--compact');
            },
            exit: function(direction) {
                document.querySelectorAll('.kracked-header').classList.add('kracked-header--compact');
                $('.kracked-header').addClass('kracked-header--compact');
            },
            group: classname
        });
    });
});

这是一个快速转化的好网站:http://youmightnotneedjquery.com/

关于javascript - 基于滚动更改类 - 不使用 JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49890415/

相关文章:

jquery - 路点 - 没有元素选项传递给路点构造函数

jquery - 使用 jQuery Waypoints 插件的粘性导航栏

jQuery 航点错误 "notify is not defined"

javascript - 灯箱无法正常工作

javascript - 位置置顶

javascript - knockout 计算参数未更新

javascript - 单页导航菜单 - 事件指示器

javascript - jQuery 使用 transaction.executeSql() 返回未定义

javascript - 如何使用 jQuery $.cookie() 将对象数组存储在 cookie 中?

javascript - jQuery 航路点不工作