基于Scroll更改类 - 没有JQuery

时间:2018-04-18 02:54:58

标签: 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?

1 个答案:

答案 0 :(得分:1)

这应该让你非常接近。

['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/