Не корректно работает функция

254
15 января 2018, 08:05

Подскажите пожалуйста почему не корректно работает данная функция. Она добавляет класс только после того как вручную изменишь ширину экрана, а если ширина экрана уже меньше 640px, то после обновления страницы класс добавляется только если опять изменишь ширину экрана.

$(document).ready(function() {
    $(window).resize(function() {
        if ($(window).width() <= '640'){
            $('.header__navigation-img').on('click', function(){
                $('.header__nav').toggleClass('header__nav-active');
            })
        } else {
            $('.header__nav').removeClass('header__nav-active');
        }
    });
}
Answer 1
$(document).ready(function() {
    $('.header__navigation-img').on('click', function() {
        if ($(window).width() <= 640) {
            $('.header__nav').toggleClass('header__nav-active');
        }
    });
    $(window).resize(function() {
        if ($(window).width() > 640) {
            $('.header__nav').removeClass('header__nav-active');
        }
    });
    $(window).resize();
    $('.header__navigation-img').click();
});
Answer 2

Забить бы всё в переменные по хорошему:

$(document).ready(function() {
    var $window = $(window);
    var $nav = $('.header__nav');
    var $navImage = $('.header__navigation-img');
    $navImage.on('click',function(e){
        if ($window.width() <= 640) { $nav.toggleClass('header__nav-active'); }
    }).trigger('click');
    $window.resize(function() {
        if ($window.width() > 640) { $nav.removeClass('header__nav-active'); }
    }).trigger('resize');
});
READ ALSO
Проблема подгрузки картинок в слайдере!

Проблема подгрузки картинок в слайдере!

У нас есть кнопка 'Click' , когда нажимаем открывается модальное окно , в модальном окне у нас есть слайдер pgwslider(http://pgwjscom/pgwslider/), проблема в том...

282
Не работает bootstrap modal внутри ballon

Не работает bootstrap modal внутри ballon

Как запускать modal bootstrap который рендерится в балун? Для запуска использую функцию:

208