javascript - js、css实现ppt的出现效果
高洛峰
高洛峰 2017-04-10 15:32:39
[JavaScript讨论组]

由下向上的显示效果,难点在于由下向上和先显示三角(也要由下向上,不能一下子出现)

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(6)
PHP中文网

可以看下 impress.js

迷茫

手机,没办法写事例代码,说说思路吧。
overflow:hidden,然后js移动p元素。
其实不需要js也可以实现这样的效果,用css动画吧。

伊谢尔伦

CSS 绝对定位 bottom:0
JS 改变 height
下面的图片是我用谷歌的调试工具在当前页面中加的CSS样式

当然,如果不需要考虑低版本浏览器,用CSS3的 transition 来过渡一下也可以

迷茫

思路楼上已经说了,我补充个css3兼容性渐变生成器吧 http://www.colorzilla.com/gradient-editor/

迷茫

这个可以看做一个p高度变化产生的动画效果,可以用css3的transition来制作。只要高度的初始值和最终值即可。如何触发这个变化可以用js来控制。当然了,如果上边框如果要实现这样的效果,可能稍微有点复杂了,切一下图是一种解决方式。

PHP中文网

说一种与楼上不同的动画方法吧,略有些复杂……和原生实现轮播图本质一样,以变换一个p的高度为例

<body>
    <p style="width:200px;height:200px;background:green;margin:50px auto;" id="test"></p>

    <script>
    window.onload = function () {
        var test = document.getElementById('test');
        var height1 = 600; // 希望最终的高度
        var offset = height1 - parseInt(test.style.height);

        stretch(offset);

        function stretch(offset) {
            var time = 3000; // 变换总时间
            var inter = 10; // 隔10ms变换一次
            var speed = offset/(time/inter); // 每次边换移动的距离
            var h = parseInt(test.style.height) + offset;

            var go = function () {
                var height = parseInt(test.style.height);
                if ((speed >0 && height < h) || (speed < 0 && height >h)) {
                    test.style.height = height + speed + 'px';
                    setTimeout(go, inter);
                }
                else {
                    test.style.height = h + 'px';
                }
            };
            go();
        };
    }


    </script>
</body>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号