常に正の数になるMath.abs()
ため、必要ありません。tpxl
div の位置をウィンドウの現在の上部から 100 ピクセルに設定するには、 を使用します$(window).scrollTop() + 100 + 'px'
。
if
/else if
構造を持っている理由がよくわかりません。次の例では、div を常に 100px に固定します。
$(window).scroll(function () {
$('#div').css('top', $(window).scrollTop() + 100 + 'px');
}).scroll();
デモ: http://jsfiddle.net/G5BVU/
元のコードのように、スクロール ポイントが 100 未満または 700 を超える場合にのみ位置を「固定」に設定するには、次のようにします。
$(window).scroll(function () {
var tpxl = $(window).scrollTop();
if (tpxl < 100 || tpxl > 700) {
$('#div').css('top', tpxl + 100 + 'px');
}
}).scroll();
デモ: http://jsfiddle.net/G5BVU/1/
編集:ウィンドウがこれらの2つのポイント間でスクロールされる場合を除いて、要素を通常どおりスクロールするにはif
、前の例の条件を逆にします:
if (tpxl > 100 && tpxl < 700)
$('#div').css('top', tpxl + 100 + 'px');
http://jsfiddle.net/G5BVU/2/
top
いずれの場合も、必要に応じて初期設定を提供してください。