2015-08-18 4 views
0

Я хочу иметь divs, который придерживается прокрутки, но останавливается внизу в конце родительского div, это отлично работает. И когда окно меньше 700 пикселей, я хочу удалить липкий класс, это отлично работает. Теперь проблема заключается в том, чтобы снова добавить липкий класс, когда окно больше 700. Как переключить эти классы, чтобы они появлялись снова, когда окно становится больше?Как toggleClass при изменении размера окна?

Вот скрипку: https://jsfiddle.net/m6jfyh9L/2/

Я использую библиотеку stickem.js здесь https://github.com/davist11/jQuery-Stickem/blob/master/jquery.stickem.js

Код:

$(document).ready(function() { 

    $('.container').stickem(); 

    var window = $(window).width(); 

    if (window<700) 
     $("div").removeClass("stickem"); 
     $("div").removeClass("stickem-container"); 
     $("div").removeClass("stickit"); 
     $("div").removeClass("stickit-end"); 

}); 
+0

Невозможно это сделать с помощью CSS [медиа-запросов] (https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries)? любая причина, по которой вы хотите сделать это через JS – Wahtever

ответ

0
$(document).ready(function() { 

    $(window).resize(function() { 
    if(false == $('.selector').hasClass('sticky') && $(window).width() >= 700) { 
     $('.selector').addClass('sticky'); 
    } 

    if(true == $('.selector').hasClass('sticky') && $(window).width() < 700) { 
     $('.selector').removeClass('sticky'); 
    } 
    }); 
}); 

Еще не проверял. Просто убедитесь, что вы можете выбрать элемент, который хотите добавить или удалить свой липкий класс.

0

Попробуйте это:

$(window).on('resize',function(){ 
    if($(this).width()>700) 
     $('yourDiv').addClass('sticky'); 
    else 
     $('yourDiv').removeClass('sticky'); 
}); 
+0

Спасибо, сработало! – JohnnyStuttgart

+0

Anytime .. счастливый кодировка .. :) –

Смежные вопросы