Задать вопрос
@RuslanTimuziyev
Немного кодер

Почему не вызывается функция внутри события click()?

Приветствую. Вот ламерский код jquery на рассмотрение.
В данном коде я реализовал два основных события: клик по сэндвичу и тени, которая появляется и затемняет весь сайт после клика по сэндвичу.
Клики по сэндвичу и тени должны выполнять одни и те же вещи, и дабы не копировать события клика по сэндвичу в клик по тени, я создал функцию для события по сэндвичу. Но функция не хочет вызываться ("navEvents() is not defined"(c) - Консоль) в клике по тени.
//Sandwitch click
    sandwitch.click(function(){
        function navEvents() {
            sandwitch.toggleClass('open');//Burger animation
            shadowCover.fadeToggle();//Shadows appearance,
            moveOutNav.toggleClass('add-shadow');
            $('.container').toggleClass('open-sidebar');//Nav appearance

            if($(document).width() <= 768) {//If less than 768px, red strap fades and resize burger
                redPartners.fadeToggle();
                sandwitch.toggleClass('marg-top');
                sandwitchPease.toggleClass('height-up');
            }

            if(docWidth > 768 && docWidth < 1366) {//Resized red strap
                if(redPartners.width() == 752) {
                    redPartners.animate({
                        width: 500
                    }, 400);
                } else {
                    redPartners.animate({
                        width: 752
                    }, 400);
                }
            }
        }
        navEvents();
    });

    //Shadow click
    shadowCover.click(function() {
        navEvents();
    });

Я не мастер формулировок, но пытался как можно понятней объяснить. Если еще проще то:
Событие click по сэндвичу срабатывается, т.е. меню выезжает, сэндвич превращается в крестик. И это все функция navEvents(), которую я вызывал в событии клика.
Но ту же самую функцию для клика по тени я не могу подключить, консоль ругается, что navEvents(), то бишь функция не определена.
  • Вопрос задан
  • 325 просмотров
Подписаться Оценить Комментировать
Решения вопроса 2
DevMan
@DevMan
так она и не определена.
вернее она определена, но видит ее только сендвич.
Ответ написан
fsockopen
@fsockopen
function navEvents() вытащи наружу из sandwitch.click
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
1. прочитать хотя бы это: https://learn.javascript.ru/global-object,
а лучше ещё вот это: https://learn.javascript.ru/closures
2. сделать выводы
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы