我有一个由行组成的可滚动div
。每行都有一个不可见的span
,当您单击该行时,该position:absolute
变为可见。打开时,跨度(正确)位于行的相同高度。
但是,如果我滚动主容器,由于跨度处于固定位置,它们将不再处于行的相同高度。由于这个问题很难解释,here's the JSFiddle I've prepared。尝试单击一行而不滚动。重新加载页面并再次尝试,但只需滚动到div底部。
position:relative
是我唯一可以做的事情,让#s;弹出"但同时,该行是相对于行旋转定位的东西。 overflow:hidden
应该有效,但是跨度比行大得多,后者使用position:fixed
。
请注意,该示例是使用数据绑定库创建的复杂结构的快速副本:我无法更改此结构,jQuery甚至不是一个选项。理想情况下,我需要使用CSS解决这个问题,但我不知道如何:如果我滚动div,是否有{{1}}的替代方法?
答案 0 :(得分:1)
尝试在点击事件中使用JS设置top
。
$('.row').click(function () {
var pos = $(this).position().top;
$(this).find('span').css({
"display": "block",
"top":pos
});
});
可能希望根据所需的确切位置添加/减去pos
。