Javascript 使用Jquery确定页面上元素位置的方法
我正在使用Javascript 使用Jquery确定页面上元素位置的方法,javascript,jquery,Javascript,Jquery,我正在使用offset()获取图像的当前位置。我将图像放置在绝对位置,以便它挂起第一个li作为指针。单击任何li时,我希望图像滑动到该li 我第一次点击li时,它会滑到页面的中心。但是,当我进行后续单击时,它会移动适当的距离,仅在页面的中心,因为它已经被错误地设置 我希望这是有道理的 这是我的HTML <ul id="llist"> <li class="t current"><a href="#"><span>solutions</
offset()
获取图像的当前位置。我将图像放置在绝对位置,以便它挂起第一个li作为指针。单击任何li时,我希望图像滑动到该li
我第一次点击li时,它会滑到页面的中心。但是,当我进行后续单击时,它会移动适当的距离,仅在页面的中心,因为它已经被错误地设置
我希望这是有道理的
这是我的HTML
<ul id="llist">
<li class="t current"><a href="#"><span>solutions</span></a><img src="images/bg-tab-leader-arrow.png" width="24" height="53" title="pointer" class="pointer" /></li>
<li class="m"><a href="#"><span>credit mangement solutions</span></a></li>
<li class="b"><a href="#"><span>third party additions</span></a></li>
</ul>
CSS:
如果您想知道为什么我第一次点击时,它会位于页面中心,而不是将其滑动到相对位置,我们将不胜感激 这句话让我有点困惑:
var thisTop = $('#llist').offset().top;
…因为它获取的是列表的顶部
位置,而不是单击的
如果我将其更改为:
var thisTop = $(this).offset().top;
……看来效果不错
示例:
编辑:
问题可能是您需要使用.position()
而不是.offset()
,以便它使用容器中
的相对位置
编辑:
另外,看起来您需要为容器提供相对
定位llist
啊,很抱歉,我把它改为测试不同的行了。我们在谈论jquery吗?@Andy,我猜您需要使用.position()
而不是.offset()
。我将更新我的答案,但我必须先中断几分钟才能进行测试。我将它改为位置,而不是偏移量和它的闭合点:)@Andy:使llist
与position:relative
相对定位。
var thisTop = $('#llist').offset().top;
var thisTop = $(this).offset().top;