$(document).ready(function(){
var aligned = false; // A flag to tell us when the images are aligned
$(window).scroll(function(){
if($(this).scrollTop() == 192) { // when the window scroll to the alignment point...
aligned = true; // the images are aligned
}
if (aligned) { // if they're aligned...
$(".image-2").css("top", 8 + $(this).scrollTop()) // match .image-2's top css property
} // to the window's scrollTop value, +
// 8px for the body's margin.
})
})
Here's a JSFiddle with what I think you want.
画像が並んでいるとき、私たちに伝えるために、ブールは、単純にあります。それらがある場合、image-2のCSSプロパティ 'top'はウィンドウのscrollTop値と一致します。
ブール型変数は、イメージが並んでいるときに私たちに教えるために現在ハードコードされています(私は、ウィンドウのscrollTop値が並んでいるときこの値を見ています)。画像の位置や大きさの変化を考慮しないため、これは大きなアプローチではありませんが、これは十分に進まなければなりません。
EDIT
https://jsfiddle.net/eLdo0s3w/5/
は、ここで同じ結果を達成するための別の方法です。限り、2番目の画像position: fixed
を持っている限り、それはより効率的でなければなりません、うまくいけば、OPが最初の方法で起こったという周りのジャンプを避けるでしょう。
これは、image-2のtop
CSSプロパティを対象とし、image-2が必要なポイントに達するまで、window.scrollTop値と一致させます。
また、このコードはあまり再利用できませんが、1回限りの状況で正常に動作するはずです。誰かがそれを改善したいなら、それをしてください!
これまでのコードを共有できますか? – DinoMyte
質問の助けを求める質問には、**質問自体の中で、** [Stack Snippet]で(https://stackoverflow.blog/2014/09/introducing-runnable- javascript-css-and-html-code-snippets /)または[JSFiddle](https://jsfiddle.net/)を使用してください。 [最小限の、完全で検証可能なサンプルの作成方法](http://stackoverflow.com/help/mcve)を参照してください。 – paolobasso
あなたはそのようなものを試してみることができます:https://jsfiddle.net/xfp34c0o/ – DinoMyte