質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

0回答

293閲覧

ズームインしながらフェードで切り替わるスライダーを実装したが画像がだんだん大きくなってしまいます。

kogari

総合スコア12

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2022/01/18 02:27

トップの画像3枚をズームインしながら切り替わるスライダーを実装しましたが、
画像自体がだんだん大きくなってしまいます。
画像サイズそのままで、その画像の中だけでズームインするようにしたいです。

イメージ説明
イメージ説明

上の写真がスタート位置で、下の写真です。

HTML

1 <div class="wrap"> 2 <ul id="slide_wrap"> 3 <li class="slide_item"> 4 <img src="../img/common/mv_top1.png" alt="img1"> 5 </li> 6 <li class="slide_item"> 7 <img src="../img/common/mv_top2.png" alt="img2"> 8 </li> 9 <li class="slide_item"> 10 <img src="../img/common/mv_top3.png" alt="img3"> 11 </li> 12 </ul> 13 </div>

SCSS

1#slide_wrap { 2 position: relative; 3 overflow: hidden; 4} 5 6.slide_item{ 7 opacity: 0; 8 transform: scale(1); 9 transition: opacity 2s linear, transform 7.5s linear; //transformはFadeTime + IntarvalTime + α秒 10 position: relative; 11 width: 100%; 12 height: 100%; 13 14 &:not(:first-child){ 15 position: absolute; 16 top: 0; 17 left : 0; 18 } 19 20 &.show_{ 21 opacity: 1; 22 } 23 &.zoom_{ 24 transform: scale(1.1); 25 } 26 img{ 27 display: block; //下に余白できないように 28 width: 100%; 29 height: 688px; 30 object-fit:cover; 31 @include global.tab { 32 height: 611px; 33 } 34 35 } 36}

JavaScript

1window.addEventListener('load', function () { 2 sliderStart(); 3}); 4function sliderStart() { 5 6 const slide = document.getElementById('slide_wrap'); //スライダー親 7 const slideItem = slide.querySelectorAll('.slide_item'); //スライド要素 8 const totalNum = slideItem.length - 1; // スライドの枚数を取得 9 const FadeTime = 2000; //フェードインの時間 10 const IntarvalTime = 5000; //クロスフェードさせるまでの間隔 11 let actNum = 0; //現在アクティブな番号 12 let nowSlide; //現在表示中のスライド 13 let NextSlide; //次に表示するスライド 14 15 // DOM読み込み時にスライドの1枚目をフェードイン 16 slideItem[0].classList.add('show_', 'zoom_'); 17 18 // 処理を繰り返す 19 setInterval(() => { 20 if (actNum < totalNum) { 21 22 nowSlide = slideItem[actNum]; 23 NextSlide = slideItem[++actNum]; 24 25 //.show_削除でフェードアウト 26 nowSlide.classList.remove('show_'); 27 // と同時に、次のスライドがズームしながらフェードインする 28 NextSlide.classList.add('show_', 'zoom_'); 29 //フェードアウト完了後、.zoom_削除 30 setTimeout(() => { 31 nowSlide.classList.remove('zoom_'); 32 }, FadeTime); 33 34 35 } else { 36 37 nowSlide = slideItem[actNum]; 38 NextSlide = slideItem[actNum = 0]; 39 40 //.show_削除でフェードアウト 41 nowSlide.classList.remove('show_'); 42 // と同時に、次のスライドがズームしながらフェードインする 43 NextSlide.classList.add('show_', 'zoom_'); 44 //フェードアウト完了後、.zoom_削除 45 setTimeout(() => { 46 nowSlide.classList.remove('zoom_'); 47 }, FadeTime); 48 49 }; 50 }, IntarvalTime); 51 52}

clip-pathで記述してみましたが改善されず。。。
ご教授いただければと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

recal

2022/01/18 15:18

>>画像サイズそのままで、その画像の中だけでズームインするようにしたいです。 画像サイズそのままと、ズームインするのは相容れない挙動だと思うのですが、どうゆう意味ですか? 要素名に置き換えてもらってもいいですか?
sum6

2022/01/20 15:30

↑それな ぜひ追記お願いします
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問