検索

ホームページ  >  に質問  >  本文

JavaScript - スクロール軸で前方スクロールと巻き戻しで異なる効果が生じるのはなぜですか?

スクロール軸が沿って回転すると、効果は適切です。つまり、指定された位置に到達すると、対応するシリアル番号の色が変わりますが、一番下までスクロールしたり、さらにスクロールしたりすると、色が変わります。指定した領域の上部に向けて、対応するカラー スケールの色が変わります。以下に提供したコードから、
html:
<p class="submenu" id="submenu">

リーリー

</p>
js:
var Circle=$(".cirle")
$(window).on("scroll",scroll)
functionscroll(){

リーリー

}
条件 if(scrtop>=$($(this).attr("scrollto")).offset().top) が満たされているためであることがわかります。質問が 2 つあります。 1つ目は、例えば一番下の連番6に到達したとき、マウスを少しスクロールしていれば連番5が条件を満たすので、連番5に対応するエリアの一番上と表示され、シリアル番号 5 の色が変わります。これは当然のことです。シリアル番号 1、2、3、4 も if(scrtop>=$($(this).attr("scrollto") の条件を満たします。 ).offset().top). 1、2、3、4 の色が変わっていないのに、5 だけが色を変えるのはなぜですか? 6までスクロールするときに、少し戻ってスクロールすると、ページ本文のスクロールトップがすでにシリアル番号に対応する領域の$(this).attr("scrollto"よりも大きくなっているため、本当に理解できません。 1,2,3,4,5 )).offset().top は大きすぎます。1、2、3、4、5 の色をすべて変更する必要がありますか?
2 番目の質問: 前方にスクロールすると、効果は完全に期待どおりです。指定された領域の先頭に到達すると、対応するカラー マークの色が変わります。しかし、後方にスクロールすると、機能しません。それを解決する方法はありますか?

某草草某草草2782日前677

全員に返信(1)返信します

  • 巴扎黑

    巴扎黑2017-05-19 10:27:51

    最初の質問は、あなたがとても暴力的だから.siblings()、1から6までのすべての攻撃が他のものを回復するということです。

    2 番目の質問は、後ろ向きに回転して一番上に達すると色が変わります。

    返事
    0
  • キャンセル返事