1

親要素にoverflow:hiddenがあるため、たくさんの要素が非表示になっています。ユーザーがクリックしたときに新しい要素のセットを表示するためにマージンを追加するjQuery関数を作成しました。ただし、最後の要素がいつ表示されるかを検出する方法が必要です。これにより、最後に到達したときにこの機能が機能しなくなるようにすることができます。

私が使用していた関数は次のとおりです。

$(this).children('.Product').last().is(':visible')

私も試しました:

$(this).children('.Product:last-child').is(':visible')

最後の.Product要素が画面に表示されている場合でも、どちらもfalseを返します。

これは機能するはずですか?私がこれを行うことができるより良い方法はありますか?

4

3 に答える 3

0

やってみました:

$(this).children('.Product:last').is(':visible');

これがうまくいかない場合は、HTMLコードを貼り付けるか、フィドルを作成してみてください。

于 2013-03-19T14:45:37.587 に答える
0

:visible仕様によると、'要素がドキュメント内のスペースを消費する場合、要素は表示されていると見なされます。表示される要素の幅または高さがゼロより大きい。http://api.jquery.com/visible-selector/要素がビューに含まれているかどうかはチェックされないと思います。

于 2013-03-19T14:50:56.420 に答える
0

前述のように、:visible要素に可視性がある場合、つまり可視性がないdisplay: none場合、または要素のdomのフローに影響を与えている場合はtrueを返します。

あなたが求めているのは、それらが現在のユーザーのビューポートにあるかどうかです。

このプラグインを参照してください:jQueryのビューポートセレクター

幸運を!

于 2013-03-19T14:54:47.943 に答える