DONE! Все как вседа было намного проще, проблема была в строгом сравнениии, в моззиле событие срабатовало несколько раз и браузер не успевал обработать. Поменял строгое сравнение на больше, менше. Вот решение:
function scroll (event){
event.preventDefault();
//down to second slide
if (this.scrollTop >= +sections[0].getAttribute('second-slide') ) {
if (event.deltaY > 0 ) {
this.scrollTo({
top: +sections[1].getAttribute('second-slide'),
});
}
}
//down to third slide
if (this.scrollTop >= +sections[1].getAttribute('second-slide')) {
if (event.deltaY > 0) {
this.scrollTo({
top: +sections[2].getAttribute('second-slide'),
});
}
}
//up to first slide
if (this.scrollTop <= +sections[2].getAttribute('second-slide')) {
if (event.deltaY < 0) {
this.scrollTo({
top: +sections[1].getAttribute('second-slide'),
});
}
}
//up to second slide
if (this.scrollTop <= +sections[1].getAttribute('second-slide')) {
if (event.deltaY < 0) {
this.scrollTo({
top: +sections[0].getAttribute('second-slide'),
});
}
}
};