在列表中隐藏距离超过3步的兄弟姐妹的最简洁的方法是什么?
What's the neatest way to hide siblings more than three steps away in a list?
我有一个元素列表要移动,每次一个是活动的。
我现在是这样做的:
$('.cards li:eq('+ step +')').animate(//animation info)
$('.cards li:eq('+ (step + 1) +'), .cards li:eq('+ (step - 1) +')').animate({'opacity':'0.8'})
$('.cards li:eq('+ (step + 2) +'), .cards li:eq('+ (step - 2) +')').animate({'opacity':'0.6'})
$('.cards li:eq('+ (step + 3) +'), .cards li:eq('+ (step - 3) +')').animate({'opacity':'0.4'})
对于活动项和三对等距相邻的兄弟姐妹来说,这很有效。我需要的是,虽然,是使列表项4个地方或更多有自己的动画。
我正在这样做,它工作了:
$('.cards li').each(function(){
thisEq = $(this).index() + 1
if(thisEq > step && ((thisEq - step) > 3)){animate({'opacity':'0'})}
if(thisEq < step && ((step - thisEq) > 4)){animate({'opacity':'0'}}
})
但是有没有更干净的方法呢?
您可以使用每个参数:
$('.cards li').each(function(i){
if(i - step == 0){
$(this).animate()
}else if( Math.abs(i-step) < 4){
// 1, 2, 3
$(this).animate({'opacity': 1 - 0.2 * Math.abs(i-step)})
}else{
// 4 and more
}
}
相关文章:
- JQUERY检索并删除以前的兄弟姐妹
- Jquery/Javascript—查找父级's的兄弟姐妹's儿童'的孩子
- 通过单击链接(兄弟姐妹?)从无线电输入中获取id
- 包裹的咕哝声并不能让它的兄弟姐妹满意;peerDependencies要求
- 点击Div A触发Div B并移除Div B的兄弟姐妹
- mousedown在兄弟姐妹上的传播
- Kendo TreeView:检查节点是否有兄弟姐妹或子节点
- 子对象调用兄弟姐妹'方法
- 从元素'中选择一个元素;的兄弟姐妹
- 父母找到或兄弟姐妹或下一个不会工作
- 在这种情况下,如何更改接下来3个兄弟姐妹的类别
- 访问下一个兄弟姐妹
- 反应 - 将引用传递给兄弟姐妹
- 反应.js - 如何创建手风琴(与兄弟姐妹交谈)
- 在兄弟姐妹周围插入 Javascript 环绕
- 为什么父母的兄弟姐妹有冒泡
- 在没有兄弟姐妹时用jQuery找到下一个
- 当它在IE中具有兄弟姐妹img时,拖动不起作用
- 使用 JavaScript 获取兄弟姐妹的价值
- 在列表中隐藏距离超过3步的兄弟姐妹的最简洁的方法是什么?