在滚动更改时更新文本时添加延迟

时间:2012-03-12 21:07:59

标签: jquery

function updateImageInfo() {
    var center = Math.floor(($(window).height() / 2)) + $(window).scrollTop();
    $('.mainimages').each(function(i, img) { 
        var top = $(img).offset().top;
        if(top <= center && top + $(img).height() >= center) {
            if($('#imgwrap').data('currentImageId') != $(img).data('info').internal_id) {
                $('#infotext').text($(img).data('info').misc.name);
            }
            $('#imgwrap').data({ 'currentImageId' : $(img).data('info').internal_id });
        }
    }); 
}

$(window).scroll(function () { 
    updateImageInfo();
});

我想要做的是在文本更新时添加延迟$('#infotext').text($(img).data('info').misc.name);并在文本更改时添加某种类型的动画,如fadeIn和fadeOut。

我尝试用setTimeout()包装它,但是如果你经常滚动很多,文本就会改变排队。我认为proxy()可用于实现此目的,但我不确定如何使用它。

直播代码:http://johanberntsson.se/dev/fotosida/

由于

0 个答案:

没有答案