replica410
@replica410 (陽 有村)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

カルーセル、モーダルの表示方法について

解決したいこと

今、画面上部にカルーセル、下部にモーダルを表示しようとしています。

ただ、カルーセルのコードの下にモーダルを書いても、画像のように記入されている痕跡はあるのに画面に上手く表示できません。

この後、コードのようにモーダルの画像をクリックしたら画像と説明文が表示され、画面上部のバツボタンを押すと閉じる仕組みを三枚の画像にあてたいと思っています。
どなたかアドバイスお願いします。

または、問題・エラーが起きている画像をここにドラッグアンドドロップ

スクリーンショット (1).png

該当するソースコード

ソースコードを入力
HTMLのコード
```<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="utf-8">
    <title>カルーセルのサンプル</title>
    <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" />
    <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick-theme.css" />
    <style>
        .content {
            position: relative;
        }

        /* 画像に合わせてカルーセルの高さを調整 */
        .slick-slide {
            height: auto;
        }

        /* 背景の色に合わせて前後の矢印の色を調整 */
        .slick-prev:before,
        .slick-next:before {
            color: #000;
        }
    </style>
</head>

<body>
    <header>
        <div class="container">
            <h1><img src="images/logo.png" alt="CookCampロゴ" </h1>
        </div>
    </header>
    <div class="box">
        <div class="carousel">
            <!-- このセレクタを JavaScript で指定する -->
            <img src="images/key_visual.jpg" alt="画像1">
            <img src="images/key_visual2.jpg" alt="画像2">
            <img src="images/key_visual3.jpg" alt="画像3">
        </div>
    </div>
        <script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js" integrity="sha256-DHF4zGyjT7GOMPBwpeehwoey18z8uiz98G4PRu2lV0A=" crossorigin="anonymous"></script>
    <script type="text/javascript" src="提出課題.js">
        // カルーセルにするセレクタを指定する
    </script>
    <div>
        <ul>
            <li><a href="images/image01.jpg" data-group="gallery" class="show" data-modaal-desc="様々な食材を使用し作り上げた色とりどりの前菜はテーブルをカラフルに彩ります♪" alt="" width="100"></a></li>
        </ul>
    </div>
</body>

</html>

CSSのコード
.box {
    position: relative;
    overflow: hidden;
}

.carousel {
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
}
.slick-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
/*.arrow {
  left: 0;
  z-index: 10;
}
.arrow2 {
  right: 0;
}*/
.slide-arrow{
  position: absolute;
  top: 50%;
  margin-top: -16px;
  width: 20px;
  height: 33px;
  opacity:0.7;
  z-index:10;
}
.prev-arrow{
    left: 5px;
}
.next-arrow{
    right: 5px;
}
JSのコード
        $('.carousel').slick({
            // ここに slick のオプションを指定
            dots: true,
            autoplay: true,
            autoplaySpeed: 5000,
            prevArrow: '<img src="images/arrow.png" class="slide-arrow prev-arrow">',
            nextArrow: '<img src="images/arrow2.png" class="slide-arrow next-arrow">',
        });

自分で試したこと

ここに問題・エラーに対して試したことを記載してください。

0

2Answer

先述した通り、Modaal.jsは正しく読みこんでいるか、スクリプトでModaalの設定はできているか確認されましたでしょうか?

Modaal.jsについては使い方を検索すればいろいろ出てくると思うので参考情報を探してみてください。

私自身でも「Modaal.js」を利用してシンプルなモーダルウィンドウを実装してみたのでご参考にしてください。

See the Pen Modaalの利用 by yotty (@yotty) on CodePen.

1Like

Comments

  1. @replica410

    Questioner

    ありがとうございます!
    まずは作って頂いたコードを参考に試してみます

aタグ内に表示させる要素が記述されていないので、画面になにも表示されていないだけです。

画像をクリックしてモーダルを表示させたいのであれば、aタグ内にクリックさせる画像要素を配置しないといけないです。

<a href="モーダルで表示させる画像" data-modaal-desc="ディスクリプション">
    <img src="クリックさせる画像"/>
</a>

そもそもカルーセル内の画像をクリックしてモーダルを表示させたいのであれば、上のような記述をカルーセル内に配置すれば実現できると思います。



また、「Modaal.js」というライブラリを使おうとしているような記述がありますが、読み込んでいるところが見当たりません。
「Modaal.js」を使うのであれば、「Modaal.js」を読み込こんだうえで、モーダルの設定を行うスクリプトの記述を忘れないようにご注意ください。

$('.image').modaal({
    type: 'image'
});
0Like

Comments

  1. @replica410

    Questioner

    回答ありがとうございます。画像は上手く表示させられました。
    モーダルを表示させたいのはカルーセル内の画像を押した時ではなく、カルーセルより下部に今回表示させられた画像をクリックしたい時なので、その仕組みを今悩んでいる状態です。
  2. >画像は上手く表示させられました。

    画像が表示できて、クリック時にモーダルウィンドウの表示までできたでしょうか?
    「仕組みを悩んでいる」というのは、どういったことに悩まれているのでしょうか?
  3. @replica410

    Questioner

    返信ありがとうございます。
    何とか画像1をクリックしたら、同じ画像1を表示させられる段階までは来ました(拡大表示には出来ていません)
    仕組みに関しては、拡大表示にすること・画像の背景を暗くさせてバツボタンを押したら閉じる仕組みにすること・ボタンを配置し押したらアラートが表示させられる仕組みに関してです。

Your answer might help someone💌