如何找到第一个“可见”的对象?
- 内使用 jQuery?
我无法执行 $('ul li:first')
或 $('ul li:eq(0)')
因为它们选择的第一个项目不是必然是第一个可见项目。
我正在使用 jCarousel Lite 插件:
它的工作原理是通过给负数向左移动 ul每次单击“下一个”时,都会调整边距,并在单击“上一个”时将其向右移动。
我想给第一个可见列表项一个红色边框颜色。该插件不会向列表中第一个可见项目的标记添加任何内容,那么我如何定位它呢?
PS $('ul li:visible').is(':first')
也不起作用,因为该插件实际上并没有为不可见的 lis 提供任何 display none 属性。
I can't do $('ul li:first')
or $('ul li:eq(0)')
because they select the first item which is not necessarily the first visible item.
I'm using the jCarousel Lite plugin:
It works by moving the ul left by giving it negative margin every time next is clicked and moving it right when prev is clicked.
I want to give the first visible list item a red border color. The plugin doesn't add anything to the markup for the first visible item in the list so how can I target it?
P.S. $('ul li:visible').is(':first')
won't work either because the plugin doesn't actually give the non visible lis any display none property.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
来自:http://www.gmarwaha.com/jquery/jcarousellite/#doc您可以使用 afterEnd 回调函数:
From: http://www.gmarwaha.com/jquery/jcarousellite/#doc you can use the afterEnd callback function:
有点繁琐的东西。这可以计算出应用于 jCarousel 的
left
偏移量,将其除以内部li
项的宽度,从而计算出有多少li
左边,然后将其转换为内部的:eq()
。Something a little fiddly. This works out the
left
offset applied to the jCarousel, divides it by the width of theli
items inside to work out how manyli
s are left of this one, and then converts that into an:eq()
inside.要选择第一个
,您需要执行以下操作:
当页面打开时,您是否能够计算出第一个可见项目(假设您知道有多少项目同时可见)最初加载?如果是,那么您可能可以通过监视单击上一个/下一个按钮来跟踪(例如,当单击下一个时,您将增加计算的位置)。
To select the first
<li>
, you'd do:Would you be able to figure out the first visible item (assuming you know how many items are visible at the same time) when the page is initially loaded? If yes, then you might be able to keep track by monitoring the prev / next button is clicked (e.g. when next is clicked, you'd increment your calculated position).
试试这个:)
$('ul li:first-child')
我总是使用它。Try this one :)
$('ul li:first-child')
I always use it.我从 CSS 中为第一个项目指定了红色边框颜色。
I give the first item a red border color from CSS.
试试这个:
Try this: