0

div行で構成されるスクロール可能オブジェクトがあります。各行にはspan、行をクリックすると表示される非表示の内部があります。スパンを開くと、(正しく) 行と同じ高さになります。

ただし、メイン コンテナーをスクロールすると、スパンが固定位置にあるため、行の同じ高さにはなりません。この問題は説明が非常に難しいため、ここに用意した JSFiddle を示します。スクロールせずに行をクリックしてみてください。ページをリロードしてもう一度試してみてください。ただし、一番下の div までスクロールした直後です。

position:absolute行のスパンを「ポップアップ」させるために私ができる唯一のことですが、同時に、行に対する位置をねじ込むことです。position:relative動作するはずですが、スパンは行よりもかなり大きく、後者は を使用していoverflow:hiddenます。

この例は、データ バインディング ライブラリで作成された非常に複雑な構造の簡単なコピーであることに注意してください。この構造を変更することはできず、jQuery もオプションではありません。理想的には、CSS だけでこの問題を解決する必要がありますが、方法がわかりません: position:fixeddiv をスクロールすると、どのような代替手段がありますか?

4

1 に答える 1

1

topクリックイベントで with JS を設定してみてください。

$('.row').click(function () {
    var pos = $(this).position().top;
    $(this).find('span').css({
        "display": "block",
        "top":pos
    });
});

pos必要な正確な配置に応じて、に追加/削除する必要がある場合があります。

http://jsfiddle.net/daCrosby/LM32h/8/

于 2013-11-08T17:55:35.403 に答える