如何编辑 jQuery 动画以显示在元素中间?

How do I edit a jQuery animation to appear in the middle of an element?

I am using this code from JS Fiddle to create a fade animation with elements on a web page. 现在,一旦整个元素在 window 中可见,该元素就会淡入。有什么方法可以编辑它以便我可以更快地触发淡入淡出动画吗?理想情况下,当只有一半元素而不是整个元素可见时,将触发淡入淡出动画。

这里是触发这个动画的JavaScript:

/* every time the window is scrolled ... */
 $(window).scroll( function(){
    /* check the location of each desired element */
    $('.fade-in').each( function(i){
        var bottom_of_object = $(this).offset().top + $(this).outerHeight();
        var bottom_of_window = $(window).scrollTop() + $(window).height();
        /* if the object is completely visible in the window, fade it in */
        if( bottom_of_window > bottom_of_object ){
            $(this).animate({'opacity':'1'},600);
        }
    });
});
});

尝试在 if 部分或计算中将 bottom_of_objekt 减半

 /* every time the window is scrolled ... */
     $(window).scroll( function(){
        /* check the location of each desired element */
        $('.fade-in').each( function(i){
            var bottom_of_object = $(this).offset().top + $(this).outerHeight();
            var bottom_of_window = $(window).scrollTop() + $(window).height();
            /* if the object is completely visible in the window, fade it in */
            if( bottom_of_window > (bottom_of_object / 2) ){
                $(this).animate({'opacity':'1'},600);
            }
        });
    });
    });

bottom_of_object 值更改为小于原始高度的数值

var bottom_of_object = $(this).offset().top + $(this).outerHeight() / 3; //we dived by 3 here at the end.