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

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ブラウザのほとんどに搭載されています。

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

Q&A

解決済

2回答

401閲覧

display; none;をdisplay:block;にした所の 固定したい部分の動きがおかしいです

退会済みユーザー

退会済みユーザー

総合スコア0

CSS3

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

HTML5

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

JavaScript

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

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

0グッド

0クリップ

投稿2017/10/22 15:48

編集2017/10/22 16:08
コード ```###前提・実現したいこと ``#contents_2の#fixed_label_2の固定#contents_3の#fixed_label_3の固定 ###発生している問題・エラーメッセージ display; none;をdisplay:block;にした所の 固定したい部分の動きがおかしいです(T_T) スクロールしなくても勝手に一番上に固定されてしまいます ###該当のソースコード ```ここに言語を入力 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <!--jquery本体--> <script type="text/javascript" src="./js/jquery-3.2.1.min.js"></script> <!--css--> <link rel="stylesheet" href="./css/practice1.min.css"> </head> <body> <div class="header"> header </div> <div class="contents_1" id="contents_1"> <div class="fixed_label_1" id="fixed_label_1"> <a class="fixed_label_1_1" id="fixed_label_1_1"> <div class="one">one</div> </a> <a class="fixed_label_1_2" id="fixed_label_1_2"> <div class="two">two</div> </a> <a class="fixed_label_1_3" id="fixed_label_1_3"> <div class="three">three</div> </a> </div> <ul class="list"> <?php for($i=0; $i<50; $i++){ ?> <li>one</li> <?php } ?> </ul> </div> <div class="contents_2" id="contents_2"> <div class="fixed_label_2" id="fixed_label_2"> <a class="fixed_label_2_1" id="fixed_label_2_1"> <div class="one">one</div> </a> <a class="fixed_label_2_2" id="fixed_label_2_2"> <div class="two">two</div> </a> <a class="fixed_label_2_3" id="fixed_label_2_3"> <div class="three">three</div> </a> </div> <ul class="list"> <?php for($i=0; $i<50; $i++){ ?> <li>two</li> <?php } ?> </ul> </div> <div class="contents_3" id="contents_3"> <div class="fixed_label_3" id="fixed_label_3"> <a class="fixed_label_3_1" id="fixed_label_3_1"> <div class="one">one</div> </a> <a class="fixed_label_3_2" id="fixed_label_3_2"> <div class="two">two</div> </a> <a class="fixed_label_3_3" id="fixed_label_3_3"> <div class="three">three</div> </a> </div> <ul class="list"> <?php for($i=0; $i<50; $i++){ ?> <li>three</li> <?php } ?> </ul> </div> </body> <script> /*contents_1*/ $(function() { $("#fixed_label_1_2").click(function() { $("#contents_2").toggle(1); }); }); $(function() { $("#fixed_label_1_2").click(function() { $("#contents_1").toggle(1); }); }); $(function() { $("#fixed_label_1_3").click(function() { $("#contents_3").toggle(1); }); }); $(function() { $("#fixed_label_1_3").click(function() { $("#contents_1").toggle(1); }); }); /*contents_2*/ $(function() { $("#fixed_label_2_1").click(function() { $("#contents_1").toggle(1); }); }); $(function() { $("#fixed_label_2_1").click(function() { $("#contents_2").toggle(1); }); }); $(function() { $("#fixed_label_2_3").click(function() { $("#contents_3").toggle(1); }); }); $(function() { $("#fixed_label_2_3").click(function() { $("#contents_2").toggle(1); }); }); /*contents_3*/ $(function() { $("#fixed_label_3_1").click(function() { $("#contents_1").toggle(1); }); }); $(function() { $("#fixed_label_3_1").click(function() { $("#contents_3").toggle(1); }); }); $(function() { $("#fixed_label_3_2").click(function() { $("#contents_2").toggle(1); }); }); $(function() { $("#fixed_label_3_2").click(function() { $("#contents_3").toggle(1); }); }); /*スクロールで固定*/ $(function(){ var fix = $("#fixed_label_1"); var fixTop = fix.offset().top; $(window).scroll(function () { if($(window).scrollTop() >= fixTop) { fix.css("position","fixed"); fix.css("top","0"); } else { fix.css("position",""); fix.css("top",""); } }); }); $(function(){ var fix = $("#fixed_label_2"); var fixTop = fix.offset().top; $(window).scroll(function () { if($(window).scrollTop() >= fixTop) { fix.css("position","fixed"); fix.css("top","0"); } else { fix.css("position",""); fix.css("top",""); } }); }); $(function(){ var fix = $("#fixed_label_3"); var fixTop = fix.offset().top; $(window).scroll(function () { if($(window).scrollTop() >= fixTop) { fix.css("position","fixed"); fix.css("top","0"); } else { fix.css("position",""); fix.css("top",""); } }); }); </script> </html> *{ margin: 0; padding: 0; } a{ text-decoration: none; } .header{ width: 100vw; height: 50vw; background-color: darkblue; border-radius: 5vw; color: #ffffff; font-size: 10vw; line-height: 50vw; text-align: center; } .contents_1{ .fixed_label_1{ background-color: #ffffff; .one{ display: inline-block; height: 20vw; width: 32vw; line-height: 20vw; font-size: 5vw; text-align: center; border-bottom: solid 5px pink; } .two{ display: inline-block; height: 20vw; width: 32vw; line-height: 20vw; font-size: 5vw; text-align: center; border-bottom: solid 5px pink; } .three{ display: inline-block; height: 20vw; width: 32vw; line-height: 20vw; font-size: 5vw; text-align: center; border-bottom: solid 5px pink; } } .list{ font-size: 7vw; } } .contents_2{ display: none; .fixed_label_2{ background-color: #ffffff; .one{ display: inline-block; height: 20vw; width: 32vw; line-height: 20vw; font-size: 5vw; text-align: center; border-bottom: solid 5px pink; } .two{ display: inline-block; height: 20vw; width: 32vw; line-height: 20vw; font-size: 5vw; text-align: center; border-bottom: solid 5px pink; } .three{ display: inline-block; height: 20vw; width: 32vw; line-height: 20vw; font-size: 5vw; text-align: center; border-bottom: solid 5px pink; } } .list{ font-size: 7vw; } } .contents_3{ display: none; .fixed_label_3{ background-color: #fff; .one{ display: inline-block; height: 20vw; width: 32vw; line-height: 20vw; font-size: 5vw; text-align: center; border-bottom: solid 5px pink; } .two{ display: inline-block; height: 20vw; width: 32vw; line-height: 20vw; font-size: 5vw; text-align: center; border-bottom: solid 5px pink; } .three{ display: inline-block; height: 20vw; width: 32vw; line-height: 20vw; font-size: 5vw; text-align: center; border-bottom: solid 5px pink; } } .list{ font-size: 7vw; } }

###試したこと

###補足情報(言語/FW/ツール等のバージョンなど)

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

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

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

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

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

kei344

2017/10/22 15:51

質問文のコードはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。また、状況の再現が可能なHTML/CSSを質問文に追記ください。
退会済みユーザー

退会済みユーザー

2017/10/22 15:57

こんな感じですか(>_<)
kei344

2017/10/22 16:02

#contents_2などはマークダウンに置き換えられてしまうため、``で囲うほうが良いです。また、CSSがコードブロックからもれています。 PCであれば記入エリアの右部分あたりにリアルタイムに結果が表示されていると思うので、そこを見ながら調整してください。
退会済みユーザー

退会済みユーザー

2017/10/22 16:09

こんな感じですか(>_<
kei344

2017/10/22 16:19

SASSではなく出力されたCSSを提示されたほうが回答を得やすいと思います。
guest

回答2

0

ベストアンサー

問題は、非表示の要素の位置を取得しようとしていることです。

lang

1 var fix = $("#fixed_label_2"); 2 var fixTop = fix.offset().top;

#fixed_label_3も同様ですが、ページ読み込み時にこの文が実行されるときfixは非表示なので、offset()で位置を取得すること自体意味をなしません。試した所fixTop0になりました。

#fixed_label_1topを共用すればとりあえず解決します。

lang

1$(function() { 2 var fix1 = $("#fixed_label_1"); 3 var fixes = $("#fixed_label_1, #fixed_label_2, #fixed_label_3"); 4 var fixTop = fix1.offset().top; 5 $(window).scroll(function() { 6 if ($(window).scrollTop() >= fixTop) { 7 fixes.css("position", "fixed") 8 .css("top", "auto"); 9 } else { 10 fixes.css("position", "static"); 11 .css("top", "auto"); 12 } 13 }); 14});

投稿2017/10/22 18:35

編集2017/10/22 18:54
karamarimo

総合スコア2551

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

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

退会済みユーザー

退会済みユーザー

2017/10/23 11:31

できました!!!!! ありがとうございます!
guest

0

動くサンプル:https://jsfiddle.net/m8ywcu0g/


問題が再現しません。
HTMLの構造やブラウザのキャッシュを確認してみてください。

投稿2017/10/22 16:20

kei344

総合スコア69407

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問