2012-08-24 26 views
7

これは私のjQuery/javascriptの知識のためにあまりにもトリッキーですので、私はまだ何も試していないと申し訳ありません。私は正しい方向を指すためにいくつかのヒントが必要です!固定要素が通過したときに、親要素をスクロールする方法はありますか?

問題は、ページに固定要素があり、この要素をスクロールすると別のラッパーが入力され、そのラッパーで固定要素に「スナップ」する必要があることです。要素内にある。

説明するのは難しいの種類、私はここで、静的なモックアップを作った:

http://jsfiddle.net/ycmYc/

「固定カートボタンは」価格に達したとき、私はそれは限りカートボタンで接続し、スクロールする必要がありますそれは価格 "product-div"の中にあります。それが去って次の商品に入ると、その価格は商品の底にとどまり、ユーザーがスクロールアップすることでカートボタンに再びスナップします。

もう一度試していないのは申し訳ありませんが、私は迷っています。私が助けなしにこれをしなければならないとすれば、私はwaypoints.jsと一緒に行くだろうと思っていますが、それは最適ではないと感じています。

何か助けてください!

固定要素は常に同じ位置になるため、ブラウザの上端からのオフセットは、その位置を追跡する代わりに使用することができます。常に何か;)

更新:

がそれに自分自身を働いて、それが上向き下向きではなく、働いて得た:

は、私が何を意味するか明確にすべき:

http://retype.se/temp/scrolltest/test.html

スクロール価格によって、それはボタンを下方に結合し、コンテナを出るときに緩んでスナップする。私の問題は今、それをスナップし、上にスクロールするときに元の位置にスクロールしています:)

+0

そして、何と - とき*ボタン*最初は "黄色" 領域の上にありますか? –

+0

_button_が最初の価格に達するまでは何も起こりません...価格は、親製品のコンテナ内にある間にスナップしてスクロールする必要があります。 – jonas

+0

'.product'の高さがすべて同じかどうかを知ることは本当に重要ですそれらは変数になります –

答えて

0

これは単なる脳裏ですが、多分それは物事を得る(sry、フィドルの時間がありません)。しかし、私は考え、おそらく光学的に不正行為しようとしているのです。

私が言っていることは、すべての価格設定欄の絶対的な位置を計算して非表示にし、スクロールしてカートの位置に達すると、ピクセルスクロール量xあなたに合ったものが何であるかはわかりません)。

これは少し助けてくれることを願っていますが、今日はそれをスクリプト化するための時間があります。

0

これはちょっと制約に依存します。ウィンドウのスクロール位置は、 window.pageYOffsetまたはdocument.documentElement.scrollTopで検出できます。

divがすべて同じサイズであれば、ボタンの上にあるdivとその隣の価格position: fixedを簡単に計算できます。

1

このようにしますか?

http://jsfiddle.net/ycmYc/39/

のみ結果:http://fiddle.jshell.net/ycmYc/39/show/light/

enter image description here

は更新:これについて

どのように?

http://jsfiddle.net/ycmYc/93/

は結果だけ:http://fiddle.jshell.net/ycmYc/93/show/light/

+0

ほとんど、私の元の投稿を更新しました – jonas

+1

かなり良い、私は2番目の例が好きです。あなたがそれが割り当てられていたエリアの中にある間に価格ボックスがボタンの後をたどることだけを許可する必要があるように見えます。 (また、スクロールアップするまでは下に止まります)。 – Thor84no

+0

うん、これは私の問題だよ、Thor84no、この質問は死んだと思ったので、私はwaypoints.jsでこれを自分で達成することができた。しかし、両方のスクロール方向で動作し、各領域の底に価格を残すことは、予想以上に厳しいものです。しかし、ソンンユユンは偉大な​​仕事! – jonas

関連する問題