jQuery: load и resize
Проблема в том что есть код, который показывает и скрывает карточки. И когда размер экрана становиться меньше 320 то часть карточек нужно прятать, код работает но когда обратно увеличить размер не перезагружая страницу то видимое количество карточек не увеличивается, помогите пж.
if ($('.main-card__cards').length > 3) { $(window).on('load resize',windowSize); $('.cards-user__button').show(); } $('.cards-user__button').on('click', function() { $('.main-card__cards:gt(5)').toggle(); $(this).text() === 'Show less' ? $(this).text('Show more') : $(this).text('Show less'); }); function windowSize(){ if ($(window).width() <= '320'){ $('.main-card__cards:gt(2)').hide(); } else { $('.main-card__cards:gt(5)').hide(); } } |
|
Malleys,
что-то не так ... если идёт скрытие больше трёх, то потом как открыть 4 и 5 и 6 блоки? |
скрыть блоки resize
:write:
как вариант ... <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style class="cp-pen-styles">.main-card__cards { width: 200px; height: 100px; background: purple; margin: .1em; display: inline-flex; color: white; align-items: center; justify-content: center; font: bold 500% monospace; } button { display: flow-root; margin: auto; }</style></head><body> <div class="main-card__cards">1</div> <div class="main-card__cards">2</div> <div class="main-card__cards">3</div> <div class="main-card__cards">4</div> <div class="main-card__cards">5</div> <div class="main-card__cards">6</div> <div class="main-card__cards">7</div> <div class="main-card__cards">8</div> <div class="main-card__cards">9</div> <div class="main-card__cards">10</div> <button class="cards-user__button">Show more</button> <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js'></script> <script > if ($(".main-card__cards").length > 3) { $(window).on("load resize", windowSize); $(".cards-user__button").show(); } var num = 5; $(".cards-user__button").on("click", function () { $(".main-card__cards:gt("+num+")").toggle(); $(this).text() === "Show less" ? $(this).text("Show more") : $(this).text("Show less"); }); function windowSize() { num = ($(window).width() / 320|0) || 1; $(".main-card__cards").show(); $(".main-card__cards:gt("+num+")").hide(); $(".cards-user__button").text("Show more") } </script> </body> </html> |
спасибо мужчины
|
Часовой пояс GMT +3, время: 19:58. |