質問するログイン新規登録

Q&A

1回答

322閲覧

全画面表示の縦スライダーについて

tn_coder

総合スコア0

Safari

SafariはAppleのウェブブラウザであり、Mac OS XとiOSのデフォルトのブラウザです。

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2026/02/12 05:31

編集2026/02/15 07:39

0

0

実現したいこと

全画面表示で縦スライダーをSwiperで表示しました。(フリックLP)

その下に2つセクションとフッターがあり、最後のスライドが終わったら下のセクションにスクロールするようにしたいです。

発生している問題・分からないこと

PCでは出来たのですがスマホ表示だと固定ヘッダーあたりでしかスクロールできず、スライドから抜け出せません。

これは実現可能なのでしょうか?

デザインの大まかな構成

該当のソースコード

JavaScript

1/* 1. アドレスバー・ツールバーを除いた100vhの高さを取得 */ 2function setHeight() { 3 let vh = window.innerHeight * 0.01; 4 document.documentElement.style.setProperty("--vh", `${vh}px`); 5} 6setHeight(); 7window.addEventListener("resize", setHeight); 8/* スライダー */ 9var swiper = new Swiper(".mySwiper", { 10 direction: "vertical", 11 slidesPerView: 1, 12 mousewheel: true, 13 autoHeight: true, 14 spaceBetween: 0, 15 nested: true, 16 keyboard: { 17 enabled: true, 18 }, 19 effect: 'fade', 20 fadeEffect: { 21 crossFade: true, 22 }, 23 mousewheel: { 24 enabled: true, 25 releaseOnEdges: true, 26 touchReleaseOnEdges: true, 27 forceToAxis: true, 28 }, 29 pagination: { 30 el: ".swiper-pagination", 31 clickable: true, 32 }, 33 on: { 34 slideChange: function() { 35 // エッジ以外のときはmousewheelを有効 36 swiper.params.mousewheel.releaseOnEdges = true; 37 }, 38 reachEnd: function() { 39 // 最後のスライドに到達したら解除 40 setTimeout(function () { 41 swiper.params.mousewheel.releaseOnEdges = false; 42 }, 500); 43 }, 44 reachBeginning: function() { 45 // 最初のスライドに到達したら解除 46 setTimeout(function () { 47 swiper.params.mousewheel.releaseOnEdges = false; 48 }, 500); 49 } 50 } 51 52});

CSS

1/* swiper */ 2section.slider-part { 3 width: 100%; /* 横幅を画面いっぱいに広げる */ 4 height: 100vh; /* 縦幅を画面いっぱいに広げる */ 5 height: calc(var(--vh, 1vh) * 100); /* 縦幅を画面いっぱいに広げる(アドレスバー・ツールバーの高さを除く) */ 6} 7 8section.slider-part .mySwiper { 9 position: relative; 10 width: 100%; 11 height: 100%; 12 top: 0; 13} 14 15.swiper-slide { 16 height: 100%; 17 width: 100%; 18 display: flex; 19 justify-content: center; 20 align-items: center; 21 font-weight: bold; 22 -ms-touch-action: auto; 23 touch-action: auto; 24} 25 26.sec_fv, .sec_2, .sec_3, .sec_4, .sec_5, .sec_6, .sec_7 { 27 height: 100%; 28 width: 100%; 29 position: relative; 30 top: 0; 31}

HTML

1<section class="slider-part"> 2<div class="swiper-container mySwiper"> 3 <div class="swiper-wrapper"> 4  <div class="swiper-slide slide1"><div class="sec_1"></div></div> 5  <div class="swiper-slide slide2"><div class="sec_2"></div></div> 6  <div class="swiper-slide slide3"><div class="sec_3"></div></div> 7  <div class="swiper-slide slide4"><div class="sec_4"></div></div> 8  <div class="swiper-slide slide5"><div class="sec_5"></div></div> 9 </div> 10</div> 11</section> 12 13<div class="sec_6"></div> 14<div class="sec_7"></div> 15<footer></footer>

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

最後のスライドからブラウザスクロールに移動する設定自体は出来てます(PCでは実現、スマホでは一部実現)

全画面スライドで、最後のスライドから下にスクロールって出来るものなのでしょうか?

補足

フリックLPの依頼でこちら対応できませんでした。
実現自体可能なのか知りたいです。

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

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

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

yambejp

2026/02/13 04:21 編集

すでに試作したものがあるのであれば、確認できるサイトを提示いただくかソースを質問文に追記ください >全画面スライドで、最後のスライドから下にスクロールって出来るものなのでしょうか? の意味もよくわかりません、可能であれば図示してもらえると回答しやすいかと
Lhankor_Mhy

2026/02/13 08:52

CSSスクロールスナップでもデザインできそうですが、Swiper を使用している意図としてはページネーションが必須なのでしょうか?
tn_coder

2026/02/13 09:01

ご質問ありがとうございます! 参考サイトとして提示されたHPでSwiperを使用していたのでそのまま使用しました。 ページネーションは必須ではありません。
Lhankor_Mhy

2026/02/13 09:09

ああ、すみません、クロスフェードエフェクトをつけているのですね。ではCSSだと難しいですね。失礼しました。
Lhankor_Mhy

2026/02/13 09:38 編集

ドキュメントによると、mousewheel.releaseOnEdges は「trueにするとスライダーの端でマウスホイールイベントを開放してページのスクロールができるようにする」というものだと思います。 https://swiperjs.com/swiper-api#param-mousewheel-releaseOnEdges これをスライダーの最後のイベントでfalseに変更している意図はどういうものでしょうか?
tn_coder

2026/02/13 10:02

ご質問ありがとうございます! そこら辺のコードは検索してコピペしたのですが、Swiper内の最後のコンテンツページでSwiper内のページスクロールからブラウザのスクロールに変更出来ないものかと試したものになります。
Lhankor_Mhy

2026/02/14 23:52

であれば、mousewheel.releaseOnEdges は true ではないですか? また、このオプションはマウスホイールをコントロールするものですから、マウスホイールを使用しない実際のモバイルデバイスでどの程度動作するのか、確認された方がいいのではないですか?
tn_coder

2026/02/15 00:11

on: 以降を全てtrue/false逆になるということでしょうか?
Lhankor_Mhy

2026/02/15 00:31

イベント設定の意図がわからないのでなんとも言えないですが、個人的には全部いらないもののように見えます。
tn_coder

2026/02/15 00:43

確かに逆にしても削除しても変化なさそうなので、不要なものでした。 ありがとうございます!
guest

回答1

0

修正版:ヘッダとフッタをつけてみました。
ヘッダが流れて途中でスクロールして、最後のスクロールがおわったらフッタがあがってきます

html

1<style> 2body{ 3margin:0; 4padding:0; 5} 6.wrap{ 7min-height:100%; 8position: relative; 9} 10.head{ 11 background-Color:yellow; 12position: sticky; 13top:0; 14} 15.content{ 16 background-Color:lime; 17height:200%; 18} 19.header,.footer{ 20height:100%; 21} 22</style> 23 24<div class="header">header</div> 25<div class="wrap"> 26<div class="head">aaa</div> 27<div class="content">content a</div> 28</div> 29<div class="wrap"> 30<div class="head">bbb</div> 31<div class="content">content b</div> 32</div> 33<div class="wrap"> 34<div class="head">ccc</div> 35<div class="content">content c</div> 36</div> 37<div class="footer">footer</div> 38

投稿2026/02/13 04:26

編集2026/02/13 06:13
yambejp

総合スコア118332

tn_coder

2026/02/13 06:10 編集

ご回答ありがとうございます。 コードの追記をしたのですが、 ➀全画面表示するコンテンツが数枚あり縦にスクロール表示(参考:https://www.uniqlo.com/jp/ja/ ) ②最後のコンテンツを表示後、スクロールして下にあるコンテンツとフッターを表示する ということなのですが、わかりますでしょうか? 説明が下手で大変申し訳ないのですがお力添え頂けますと幸いです。
yambejp

2026/02/13 06:13

わたしの認識がずれているような気もしますがいったん再確認お願いします
tn_coder

2026/02/13 06:40

ありがとうございます。 フリックLPという単語を私は初めて聞いたのでデザイナーさんに伺ったところユニクロのHPを参考サイトとしてご共有頂いたので、おそらくはブラウザのスクロールで表示するものではないのかなと感じました。 yambejp様が作成して頂いたコンテンツの上にユニクロのHPのようなものが乗っかるイメージになるかと思います。 大まかなデザイン構成を書いてみましたのでご参考頂ければと思います。
yambejp

2026/02/13 06:45

あ、失礼しました希望はフリックページですよね 縦100%のページをフリックすればよいということはフリックするセクション内はスクロールしないのでしょうか?
tn_coder

2026/02/13 06:51

ご質問ありがとうございます! はい!フリックするセクション内はスクロールの必要はないかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.29%

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

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

質問する

関連した質問