根据滚动更改 Class - 没有 JQuery
Change Class Based on Scroll - Without JQuery
我是 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.
的情况下制作 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/