Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

jQueryのslickSlideで700px以下の場合非表示にしたい

解決したいこと

display: none;で非表示にした際、レイアウトが崩れてしまう。
レイアウトが崩れないように対応したい。

slide-show.js
$('.worksSliderBottom').slick({
    arrows: false,
    autoplay: true,
    autoplaySpeed: 0,
    speed: 6900,
    infinite: true,
    pauseOnHover: false,
    pauseOnFocus: false,
    cssEase: 'linear',
    slidesToShow: 4,
    slidesToScroll: 1,
    rtl: true,
    responsive: [
        {
            breakpoint: 2560,
            settings: {
                slidesToShow: 4,
            }
        },
        {
            breakpoint: 2000,
            settings: {
                slidesToShow: 3.5,
            }
        },
        {
            breakpoint: 1500,
            settings: {
                slidesToShow: 3,
            }
        },
        {
            breakpoint: 1250,
            settings: {
                slidesToShow: 2,
            }
        },
        {
            breakpoint: 1000,
            settings: {
                display: none,
            }
        },
        {
            breakpoint: 850,
            settings: {
                slidesToShow: 1.3,
            }
        },
        {
            breakpoint: 800,
            settings: {
                slidesToShow: 1.3,
            }
        }
    ],
});
container.css
    .worksSliderBottom {
        display: none;
    }
    
    .worksSliderBottom li {
        display: none;
    }
    
    .worksSliderBottom img {
        display: none;
    }
    
    .worksSliderBottom .slick-slide {
        display: none;
    }
<ul class="worksSliderBottom" dir="rtl">
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>

やりたいこと

上下にslick-slideがあり、下部のslickのみを700px以下の場合非表示にしたい。

画面

改修前
700px超え
image.png

700px以下
image.png

改修後
700px超え
image.png

700px以下
image.png

最後まで読んでいただきありがとうございます。
ご存じの方がいらっしゃいましたら教えていただけますと幸いです。
何卒よろしくお願いいたします。

0

2Answer

CSSメディアクリアを使用していかがでしょうか

/* デフォルトの状態では表示 */
.worksSliderBottom {
    display: block; /* または他の適切なスタイル */
}

/* 画面幅が700px以下の場合に非表示 */
@media (max-width: 700px) {
    .worksSliderBottom {
        display: none;
    }
}
1Like

Comments

  1. @Kobayashi0620

    Questioner

    伝わりにくい書き方をしてしまいました。
    メディアクエリでdisplay:none;にして非表示にすることができなかったので
    jsのほうでdisplay:none;を指定しました。
    その際にレイアウトが崩れてしまう事象が発生しました。

    slick-slideを非表示にする方法はJs側なのか、slick-slideのCSSで行えるのかがわからず相談させていただきました

下記内容に修正後
レイアウトが崩れずに非表示にすることができました。

    .worksSliderBottom .slick-track {
        display: none;
    }
1Like

Comments

  1. 解決したのであれば クローズ してください!

Your answer might help someone💌