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

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

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

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

HTML5

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

jQuery

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

Q&A

解決済

1回答

741閲覧

jqueryとcssの競合について

nagano0141cafe

総合スコア39

CSS3

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

HTML5

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

jQuery

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

0グッド

0クリップ

投稿2020/04/27 07:10

質問失礼します。
閲覧ありがとうございます。お手数ですが、問題解決にお力を貸してください。

前提・実現したいこと

cssで設定したスクロールスナップとjqueryで設定したページ内遷移(あるボタンを押すとページ内の指定id, classに飛ぶ)を共存させたいです。

発生している問題・エラーメッセージ

恐らく、cssで設定したスクロールスナップとjqueryで設定したページ内遷移で競合が発生しています。
cssのスクロールスナップが存在しているとjqueryのページ内遷移が動かない状況です。

該当のソースコード

html

1<div class="container"> 2 <section class="container_transition"> 3 <div id="js_top" class="top"></div> 4 </section> 5 <section class="container_transition"> 6 <div id="js_greeting" class="greeting"></div> 7 </section> 8 <section class="container_transition"> 9 <div id="js_service" class="service"></div> 10 </section> 11 <section class="container_transition"> 12 <div id="js_voice" class="voice"></div> 13 </section> 14 <section class="container_transition"> 15 <div id="js_voice" class="company"></div> 16 </section> 17</div>

css

1.container { 2 overflow-y: auto; 3 scroll-snap-type: y mandatory; 4 height: 100vh; 5} 6.container .container_transition { 7 scroll-snap-align: start; 8 height: 100vh; 9}

jquery

1$(function(){ 2 //各位置遷移 3 $('.go_to_top').click(function () { 4 $('html,body').animate({scrollTop:0},"400"); 5 }); 6 $('.go_to_greeting').click(function () { 7 $('html,body').animate({scrollTop:1305},"400"); 8 }); 9 $('.go_to_service').click(function () { 10 $('html,body').animate({scrollTop:2625},"400"); 11 }); 12 $('.go_to_voice').click(function () { 13 $('html,body').animate({scrollTop:3940},"400"); 14 }); 15 $('.go_to_company').click(function () { 16 $('html,body').animate({scrollTop:5250},"400"); 17 }); 18});

お手数ですが、ご確認をよろしくお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

html,bodyではなくて.containerにしないとスクロールされないのでは。

投稿2020/04/27 07:28

soliste16

総合スコア757

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

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

nagano0141cafe

2020/04/27 07:37

回答ありがとうございます。 提示していただいた方法を試しました。 ページ内遷移は可能になりましたが、設定したスピードで遷移先まで移動してくれない状況です... ゆったりと指定先まで移動するには何がソースに足りないのでしょうか。 ご教示いただきたく存じます。
soliste16

2020/04/27 07:52

付け外しするぐらいでしょうか。もしかしたらもっと良い方法があるかもしれません。 $('.container').css('scroll-snap-type', 'none'); $('.container').animate({scrollTop:1305},"400"); setTimeout(function(){ $('.container').css('scroll-snap-type', 'y mandatory'); },400);
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問