codeazuki
@codeazuki

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

背景画像をクリックでスライドさせる

背景画像をクリックでスライドさせているのですが、背景画像が伸びながら変わってしまいます。デフォルトでは、正しく表示されますが、次の画像に代わるときにだけ、画像が縦に伸びてしまいます。改善策を教えてください。
header{
height: 100vh;
background: url(image1.jpg);
background-repeat: no-repeat;
background-position:0px 20px;
background-size: cover;
transition: background-image 0.3s ease-in-out;

}

header onclick="changeBackground()"

const backgrounds = [
'url("image1.jpg")',
'url("image2.jpg")',
'url("image3.jpg")',
'url("image4.jpg")',

];

let currentIndex = 0;

function changeBackground() {
currentIndex = (currentIndex + 1) % backgrounds.length;
// document.header.style.backgroundImage = backgrounds[currentIndex];
const header = document.querySelector('header');
// ここで背景画像のURLを設定
header.style.backgroundImage = backgrounds[currentIndex];

}

追加で、ここで質問するときに、<>のタグで囲うとコードが表示されないのはどうしてでしょうか。

0

4Answer

コードを見ないと誰にも回答しようがありません。 HTML と CSS と JS を貼ってください。

1Like

前のスレッドでもお願いしましたが、丸投げするのではなく、自分ではどこまで実装できて、どこで躓いていて、何が分かれば解決するかを、自分が書いたコードを提示するなどして説明することはできませんか?

1Like

Comments

  1. @codeazuki

    Questioner

    コードを書いたのですが、表示されていませんでした。🙇

ここで質問するときに、<>のタグで囲うとコードが表示されないのはどうしてでしょうか。

この質問フォームでは許可された一部の HTML タグが使えるようになっていて、それ以外のタグはタグだけ消えたり中身ごと消えたりするからです。例:

  • <strong>強調</strong>強調
  • <script>let a = 1;</script>

タグを含むコードを貼るときには、以下のように ```言語名``` で囲ってください。その言語に適した色をつけて表示されます。

```html
<script>let a = 1;</script>
```

<script>let a = 1;</script>
0Like

次の画像に代わるときにだけ、画像が縦に伸びてしまいます。改善策を教えてください。

各画像の縦横のサイズが違ったりしませんか? background-size: cover; を指定すると短い辺が画面がコンテナいっぱいになり、長い辺がはみだすようにサイズ調整されます。長い辺がコンテナに収まるようにするには background-size: contain; を指定してください。

0Like

Your answer might help someone💌