您如何以一种优雅的方式使用jQuery?
将z
属性(例如:红色背景)应用于div parent
的每个子级
而其位置在给定的最高偏移量y
之上。
我已经尝试了不同的方式,但是我对其中的任何一个都不满意...
我知道一定有一种简短而优雅的方法来做...
最佳答案
既然您说您已经尝试了几种方法,并且您只是在寻找更优雅的东西,所以我假设您已经计算出偏移量部分,而我自己就使用offset
。根据需要修改该部分。为了优雅起见,您可以创建一个自定义选择器来检查顶部偏移量:
$.expr[':'].above = function(obj, index, meta, stack) {
return $(obj).offset().top < meta[3];
}
然后可以这样查询它:
$('#myParentDiv').find('div:above(100)').css('background-color', 'red');
当然这也可以表示为
$('#myParentDiv div:above(100)').css('background-color', 'red');
或者,如评论中指出的
var y = 100;
$('#myParentDiv div:above('+y+')').css('background-color', 'red');