※少々急ぎです。言葉足らずのところがあるかもしれませんが、
都度聞いていただければと思います
お世話になっております。
表題についてです。
添付画像のようなレイアウトのwebサイトを作成しています。
グロナビを左におき、スクロールをすると追従させようと思っています。
私が実装しようとしているのは、下スクロール時に
グロナビを追従スクロールさせ、グロナビの底辺の高さと、Content3の底辺の高さが
一致した時にグロナビの追従スクロールを止め(position : relative)、上スクロール時に
再度グロナビをposition : fixedさせたいと思っています。
しかし、なぜか下スクロール時に
グロナビの底辺の高さと、Content3の底辺の高さが一致した時にスクロールは止まらず、
上スクロール時にスクロールが止まってしまいます。
午前中から粘っていたものの、どうもうまくいかなくて心が粉砕してしまいそうです。
ソースコードは下記のようになります。
javascript
1// 左サイドバースクロール 2 window.addEventListener( "DOMContentLoaded", function(){ 3 4 var gloNavFixed = document.getElementById( "gloNavFixed" ); 5 var content3 = document.getElementById( "content3" ); 6 7 window.addEventListener( "scroll", function(){ 8 9 var content3Btm = content3.getBoundingClientRect().bottom + window.pageYOffset; 10 var gloNavFixedBtm = gloNavFixed.getBoundingClientRect().bottom + window.pageYOffset; 11 12 if( content3Btm < gloNavFixedBtm ){ 13 14 gloNavFixed.className = "gloNav__inner-r"; 15 gloNavFixed.style.top = window.pageYOffset + "px"; 16 17 } 18 19 } ); 20 21 22 } );
css
1.gloNav__inner-f{ 2 position:fixed; 3 top:0; 4 height:96vh; 5 border-radius:0 5px 5px 0; 6 background-color:#ffffff; 7} 8.gloNav__inner-r{ 9 position:relative; 10 height:96vh; 11 border-radius:0 5px 5px 0; 12 background-color:#ffffff; 13}
それでは、どうぞ宜しくお願いいたします。
******* 追記 *******
期待した回答以外のものが来ていましたね(笑)
変な印象を与えてしまう書き方をして大変申し訳ございませんでした。
とはいえ、見返したところ回答する上で必要な情報は揃っているかと思いますので
引き続き宜しくお願い致します。
一応内容的に文章のみではイメージの付きづらいものかと思い、図も作成した次第です。
それでも、不足分があれば文頭に記載しているように
ご質問いただければお答え致します。
どうかお力添えいただければと思います。
******* 追記2 *******
承知しました。
ご指摘のように自分の中では必要な情報は揃え、
期待した回答が得られる文章としては十分であろうと判断していました。
とはいえ結果的に、余計な言葉などが発端でやりとりしている内容がそれ以前のものです。
これ以上はどうすることもできないと思いますので、当質問については自力でなんとかします。
ご指摘いただいた皆様についても
お時間を割いていただき誠にありがとうございました。
******* 追記3 *******
@mts10806
そんなに牙を向けないでください。
もちろん、htmlなどもあります。
ただ、当質問ではhtmlのソースコードはあまり重要ではありません。
(html構造ならイメージしやすいよう図を作成しました。)
htmlに必要なid名があれば、この質問についてはレベルが高い方であればわかると思いますし、
実際JavaScriptのソースコードを見ればわかると思います。
重要でないソースコードを記載する事こそ、余計に問題をややこしくさせると思います。
とりあえず当質問については自分でなんとかします。
ありがとうございました。
回答2件
あなたの回答
tips
プレビュー