美文网首页
可视区域加载动画

可视区域加载动画

作者: lMadman | 来源:发表于2016-11-01 17:46 被阅读0次

有一些需求,是当我们去浏览时才会去加载,譬如一些动画,和一些图片,那么这些是怎样实现的呢?
先来看一下下面的一段小代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>可视区域加载</title>
</head>
<style>
    #showDiv{
        width: 500px;
        height: 350px;
        background-color: red;
        margin: 1000px auto 0 auto;
    }
    @-webkit-keyframes fadeInLeft {
        0%{
            opacity: 0;
            -webkit-transform: translate3d(-100%,0,0);
            -moz-transform: translate3d(-100%,0,0);
            -ms-transform: translate3d(-100%,0,0);
            -o-transform: translate3d(-100%,0,0);
            transform: translate3d(-100%,0,0);
        }
        100%{
            opacity: 1;
            -webkit-transform: none;
            -moz-transform: none;
            -ms-transform: none;
            -o-transform: none;
            transform: none;
        }
    }
    .fadeInLeft{
        animation-name: fadeInLeft;
        -webkit-animation-name: fadeInLeft;
        animation-duration: 2s;
        -webkit-animation-duration: 2s;
    }
</style>
<body>
    <div id="showDiv"></div>
</body>
<script>
    function showDiv() {
        var showId = document.getElementById('showDiv');
        var clients = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
        var divTop = showId.getBoundingClientRect().top;
        if(divTop<=clients){
            showId.classList.add('fadeInLeft');
        }else{
            showId.classList.remove('fadeInLeft');
        }
    }
    window.onscroll = showDiv;
</script>
</html>

这里主要用到了CSS3中的动画以及getBoundingClientRect()获取div到浏览器顶部的距离,和浏览器的可视高度进行对比。
先来看下getBoundingClientRect()这个方法:

Paste_Image.png Paste_Image.png

相关文章

  • 可视区域加载动画

    有一些需求,是当我们去浏览时才会去加载,譬如一些动画,和一些图片,那么这些是怎样实现的呢?先来看一下下面的一段小代...

  • js-动画加载

    思路:当div出现在可视区域内时,通过给div动态加载类名来实现动画。可视区域的判断:div元素距离网页顶部的高度...

  • 网页中有大量图片加载很慢,如何优化?

    图片懒加载 优先加载可视区域的内容,等图片进入了可视区域再加载,从而提高性能。 原理:给图片的img标签中的src...

  • 懒加载和预加载

    懒加载就是在资源进入可视区域之后再加载 页面可视区高度: clientHeight = window.innerH...

  • 懒加载和预加载

    图片懒加载 在图片未到达可视区域时,先不请求图片,到达可视区域后再去请求图片,防止页面在初始化时加载大量的图片,影...

  • 实现聊天窗口动态可视区加载的listview

    定义 可视区域加载,顾名思义,即listview只加载数据源中的可视部分,而不可视部分则不需要加载。其实质也是懒加...

  • 简单的懒加载实现方法

    概念 当图片进入可视化区域时,才开始加载对应的图片 实例 代码 元素距离可视区域顶部的高度,我们这里选用 getB...

  • 使用react-window构造虚拟列表(性能优化)

    为什么使用react-window 1、不用全部加载出所有的DOM节点。默认只渲染可视区域及可视区域外的一个节点,...

  • 图片懒加载

    1.原理 当页面图片比较多的时候,加载速度会比较慢,所以为了增加页面加载速度,先将可视区域内的图片加载,其他区域的...

  • IntersectionObserver 监听元素是否出现或离开

    IntersectionObserver 监听元素是否出现或离开可视区域, 实现图片懒加载 Intersectio...

网友评论

      本文标题:可视区域加载动画

      本文链接:https://www.haomeiwen.com/subject/iltrsttx.html