使用jQuery从element获取动态css top值

时间:2013-10-05 01:05:58

标签: javascript jquery html css

我在项目中使用jScrollPane jQuery插件,可滚动区域有几个列表项元素,每个列表项单击时需要触发一个绝对位于中心的模态框,填充所有空间。无论如何它很难解释,但这不是问题。问题是,我需要通过jQuery获得负顶级css值(当它向下滚动时)并且我无法使其工作,我尝试使用.css()选择器但它总是返回0px,即使在来源显示不同。任何的想法 ?

修改

<div id="provider-menu">
    <ul>
        <li class="menu-item"> <h2> content here </h2>
             <div class="more-info">
               more info box here 
             </div>
        </li>

        <!-- More List Items Here -->

    </ul>
</div><!-- end #provider-menu -->

<!-- Javascript -->
$("#provider-menu").jScrollPane();
// jspPane is added by the plugin
var topValue = $(".jspPane").css("top"); // returns 0px every time on scroll even if in the source is different.

我正在尝试这样做,因为我无法更改HTML结构,.more-info div必须填充#provider-menu框,该框具有预定义的宽度和高度,但如果我将其设置为绝对顶部从左下方开始,它会转到顶部,你必须滚动才能看到那里有什么。所以我在考虑获得最高的负值,删除减号并将最高值设置为.more-info框。

1 个答案:

答案 0 :(得分:0)

$(element).css的行为与您预期的不同。

这实际上有效: $(".jspPane")[0].style.top

你有什么要求绝对定位我相信,jspPane没有。 无论哪种方式,上面的代码都会为您提供实际(通常为负)像素值。