jQueryを使用したswitchステートメント(以下を参照)に問題があります。
$(window).scroll(function() {
var sc = $(document).scrollTop();
switch (sc) {
case sc > 200:
$('.row1').fadeIn();
break;
case sc > 600:
$('.row2').fadeIn();
break;
case sc > 1000:
$(".row3").fadeIn();
}
});
200px下にスクロールすると、class = "row1"のdivタグが表示されます。しかし、それは表示されません。
誰かが私のコードの問題を知っていますか?
ありがとう
>
switchステートメントでは使用できません。
代わりにif ... else if
チェーンを使用してください:
var sc = $(document).scrollTop();
if (sc > 1000) {
$(".row3").fadeIn();
} else if (sc > 600) {
$('.row2').fadeIn();
} else if (sc > 200) {
$('.row1').fadeIn();
}
注意:条件は逆の順序であるため、正しい結果が得られることに注意してください。それらを元の順序で保持するif (sc > 1000)
場合、到達したときにそれが真になることはありません。のそのような値はsc
、以前のですでに処理されているはずif (sc > 200)
です。
コンパクトなコードが好きな場合は、三項演算子を使用してこれを記述し、異なる部分、つまり次の番号でのみ作業することができますrow
。
$(".row" + (sc > 1000 ? 3 : sc > 600 ? 2 : sc > 200 ? 1 : 0)).fadeIn();
これによりセレクターが生成.row0
される場合がありますが、存在しない(存在するはずである)ため、その場合は何も起こりません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加