こちらのページ(http://www.tam-tam.co.jp/tipsnote/javascript/pos …)を参考に、シングルページ上でのカレント表示を実装し、動作も問題ありません。
ただ、contents01の上とcontents04の下にナビゲーションでリンクしていない要素があり、
contents01より上の要素が表示されている間は<a href="#contents01>がカレント表示のまま
contents04より下の要素が表示されている間は<a href="#contents04>がカレント表示のままになってしまいます
// 現在のスクロール位置が、配列に格納した開始位置と終了位置の間にあるものを調べる
の下のifにelse if()でnavLink.removeClass('current');を追加すれば良いかと思うのですが、
()の中へどう記述すれば良いのか困っています
どなたかご助力いただけませんでしょうか
よろしくお願い致します
No.1ベストアンサー
- 回答日時:
こんにちは
ざっと見ただけですが・・・
現在のスクロール量が対象要素のtopとbottom位置の間にあれば、リスト内のそのリンクにcurrentクラスを付けるようになっていますので、それ以外の時はcurrentクラスを付けないようにしてあげれば宜しいかと。
スクリプト中で、該当する要素が存在したら
navLink.removeClass('current');
navLink.eq(i).addClass('current');
として、クラスの付け替えをしていますが、クラス削除の記述をfor文の前に持っていけば、
「まず全体をクリアしておいて」→「該当要素があればクラスを付ける」
という処理手順に変わりますので、結果的に該当要素が無い時はクリアされたままになります。
ただし、全体のロジックが『「要素が見えていたら」ではなく「要素の中までスクロールをしたら」クラスを付与する』というようになっていますので、対象要素が連続していない一番最初のところではなんか違和感があるかも。
(もともとがそのような考え方で作られてはいるのですけれど…)
早々にご回答いただきありがとうございます!大変たすかりました
クラスをまず消しておくという考えにいたらず、なるほど!となりました。
無事解決いたしました。本当にありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- JavaScript [再掲]指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードについて 1 2023/05/10 15:09
- 英語 提示文の自然な副詞の位置と、位置によるニュアンスの違いについて 4 2022/06/16 13:30
- HTML・CSS HTMLの条件によって表示方向が切り替わる実装のコードを教えて下さい。 (コードは下記リンクを参照) 1 2022/09/25 14:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グローバルIPとプライベートIP...
-
配列の重複する値とその個数を...
-
java eclipse 型に解決できません
-
下記の問合せを行うクエリを、P...
-
packageとimport の違いって?
-
dllと同じプロジェクトにする方法
-
「天声人語」をインターネット...
-
コンボボックスのマウスホイー...
-
Excelでクラス分け表を作成した...
-
自作のクラスファイルがインポ...
-
IPアドレスのクラスAを取得して...
-
main()を持つクラスが2つ以上...
-
VBソースからクラス仕様書作成
-
サーブレット実行時のエラー
-
どこからも呼ばれていない無意...
-
C#で OpenSSLで3DES
-
VBAもしくはVB6:クラスの中で...
-
フォームの呼び出しについて
-
BSアンテナのサイズ(札幌)に...
-
河合塾のクラス分けについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
河合塾のクラス分けについて
-
同じクラスにならない確率を教...
-
3年間同じクラスになる確率
-
「天声人語」をインターネット...
-
グローバルIPとプライベートIP...
-
配列の重複する値とその個数を...
-
java eclipse 型に解決できません
-
同一パッケージにあるクラスが...
-
私はクラスLINEにまだ入れてな...
-
老い先短い ジジィ が ふと 思う...
-
自作のクラスファイルがインポ...
-
どこからも呼ばれていない無意...
-
main()を持つクラスが2つ以上...
-
数学の計算問題。 3年間同じク...
-
クラス見てから 女の子5人 ネタ...
-
javaのコンパイルができません...
-
1 つのヘッダファイルに複数の...
-
重複エラーを解決するには
-
IPアドレスの3バイト目の呼び方
-
packageとimport の違いって?
おすすめ情報