Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
16 / 16 / 5
Регистрация: 06.10.2015
Сообщений: 245
1

Вызывать функцию при скроле мышки

28.02.2019, 18:50. Показов 983. Ответов 0

Author24 — интернет-сервис помощи студентам
Доброго всем, форумчане!
Есть проблема/, которую я не могу понять как решить.
Начало положено, но вот как усовенршенствовать не могу понять.

В чём суть: есть лендинг с несколькими секциями на всю ширину экрана. без скролла. Есть кнопка "Next Slide", которая включает следующую секцию и отключает предыдущую.

Сайт http://nirkov.ru/ezm/

Но теперь надо сделать тоже самое только при скролле мышки. Скролл вниз- открывается следующий блок, закрывается предыдущий. При скролле вверх - аналогично наоборот.

На данный момент я сделал скролл только на один слайд вверх / вниз. Как доделать, чтобы все скролились в нужном порядке я что-то сообразить не могу.

Часть кода который отвечает за кролл прикрепил ниже.
Спасибо всем за помощь!!

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 window.addEventListener('load', function() {
        var scrollStatus = {
            wheeling: false,
            functionCall: false
        };
        var scrollTimer = false;
        window.addEventListener('wheel', function(e) {
            scrollStatus.wheeling = true;
            if (!scrollStatus.functionCall) {
                //parseScroll here
                console.log(e.deltaY);
 
                if (e.deltaY > 0) {
                    // крутим колёсиком вниз
                    s2()
                }
 
                if (e.deltaY < 0) {
                    // крутим колёсиком вверх
                    s1()
                }
 
 
                scrollStatus.functionCall = true;
            }
            window.clearInterval(scrollTimer);
            scrollTimer = window.setTimeout(function() {
                scrollStatus.wheeling = false;
                scrollStatus.functionCall = false;
            }, 50); //set this millisecond to your liking
        });
    });
и события / функции, которые должны выполняться по порядку
s1, s2, s3, s4, s5

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* Pages slides */
    $('a[href="#home"]').on('click', function(e){
        e.preventDefault();
        s1();
    });
    $('a[href="#about"]').on('click', function(e){
        e.preventDefault();
        s2();
    });
    $('a[href="#gallery"]').on('click', function(e){
        e.preventDefault();
        s3();
    });
    $('a[href="#services"]').on('click', function(e){
        e.preventDefault();
        s4();
    });
    $('a[href="#contact"]').on('click', function(e){
        e.preventDefault();
        s5();
    });
Добавлено через 4 часа 4 минуты
Разобрался... может поможет кому....
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if (e.deltaY < 0 && i>=1) {
                        //Колесо вверх
                        i=i-1;
                    }
                    if (e.deltaY > 0 && i<=5) {
                        i=i+1;
                        //Колесо вниз
                    }
 
                    switch (i) {
                        case 1:
                            s2();
                            break;
                        case 2:
                            s3();
                            break;
                        case 3:
                            s4();
                            break;
                        case 4:
                            s5();
                            break;
                    }
итого: получился лендинг со слайдами (переключение по слайдам / секциям на всю страницу без бокового скролла) переключение между слайдами при помощи скролла мыши.

Всем удачи!
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.02.2019, 18:50
Ответы с готовыми решениями:

При движении мышки над панелью на ней появляется тест "Ой, щекотно". При уводе мышки текст исчезает
При движении мышки над панелью на ней появляется тест &quot;Ой, щекотно&quot;. При уводе мышки текст исчезает...

Создать функцию, которая будет вызывать другую функцию
Доброго времени суток. Изучаю PHP и вот столкнулся с такой практикой, не знаю как реализовать....

Как вызывать функцию в другую функцию?
в одной функции пытаюсь вызывать другую функцию следующей строкой: m = newdate(pdate) сама...

Анимация при скроле
и снова здравствуйте) есть опять мега идея) с чего нужно начать? хочу сделать - что бы когда...

0
28.02.2019, 18:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2019, 18:50
Помогаю со студенческими работами здесь

Красивое появление при скроле
Здравствуйте, делаю лендинг.. Хотелось бы красиво оформить выезд элементов при скроле до...

3D вращение элемента при скроле
Доброго времени суток. Прошу помощи дорогие форумчане. Как реализовать данный эффект...

Изменение фона при скроле
Всем привет! Такой вопрос, уже долго мучусь, подскажите! Есть сайт http://www.asos.com/ru/ когда...

Закрепление элемента при скроле
Доброго времени суток. Есть один сайт tehnoprostir.com.ua. И есть желание сделать стиль для себя в...

Изменение контента при скроле
Приветствую. Появился вопрос.Как сделать,что бы при скроле страницы менялся контент на сайте(К...

Фиксированное меню при скроле
Есть скрипт: $(function(){ $(window).scroll(function() { var top =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru