Javascript触发器元素首次可见时

Javascript触发器元素首次可见时,javascript,jquery,Javascript,Jquery,我很难让一个元素在正确的时间设置动画,也就是说,当它第一次出现在不同大小的视口中时 代码是: <script> $(window).scroll(function() { $('.sright3').each(function(){ var imagePos = $(this).offset().top; var topOfWindow = $(window).scrollTop(); if (imagePos < topOfWindo

我很难让一个元素在正确的时间设置动画,也就是说,当它第一次出现在不同大小的视口中时

代码是:

<script>
$(window).scroll(function() {
    $('.sright3').each(function(){
    var imagePos = $(this).offset().top;

    var topOfWindow = $(window).scrollTop();
        if (imagePos < topOfWindow+500) {
            $(this).addClass("slideRight");
        }
    });
});
</script>

$(窗口)。滚动(函数(){
$('.sright3')。每个(函数(){
var imagePos=$(this).offset().top;
var topOfWindow=$(window.scrollTop();
如果(图像位置
当.sright3元素达到窗口顶部以下500像素时,会通过将class.slideright添加到.sright3元素来触发动画。(topOfWindow+500)-问题在于,在不同大小的视口中,元素要么太快开始设置动画,要么仅在其位于屏幕上方一半时才设置动画

有没有办法定义“窗底-100”或“窗顶+95%的窗高”


谢谢你的帮助

95%:
$('body').height()*95/100
窗口底部:$(窗口).height()-100;我想你们想要的是,只要元素变得稍微可见,类幻灯片就应该被添加进去,对吗??