将每个函数与jquery收集的数据进行比较

时间:2015-03-26 02:03:53

标签: javascript jquery offset

我想要做的是将每个元素偏移相互比较,得到一个更接近窗口顶部的元素,然后对该特定元素做一些事情

$(".slide").each(function(index, el) {
   var $this = $(this);
   var offset = $this.offset().top - $(window).scrollTop();
});

所以基本上,如果我通过console.log打印偏移量,并且每个元素都有slide类,

我目前得到这些值:

slide1 = -875
slide2 = 250
slide2 = 850
slide4 = 1375

幻灯片2是当前最接近0的那个,因此幻灯片2将是我想要做的事情的div ...

希望我足够清楚!

1 个答案:

答案 0 :(得分:1)

你已经离目标很近了

var found=null;
var found_top=0;
$(".slide").each(function(index, el) {
    var $this = $(this);
    var offset = $this.offset().top - $(window).scrollTop();
    if( ( found == null ) || ( ( offset >= 0 ) && ( offset < found_top ) ) ){
        found=this;
        found_top=offset:
    }
});
/** do something with found here **/