内容滚动到视图中时如何激活 CSS3 动画
问题
您正在使用 CSS3 动画来使条形图栩栩如生,但是动画在页面加载时开始。由于条形图由于前面的内容而被放置在屏幕外,所以当用户向下滚动查看它时,动画已完成。
解决方案:捕获滚动事件
关键在于捕获使用 JavaScript 或 jQuery 滚动事件。每次滚动时,代码都会检查条形图元素是否在视口内。一旦检测到元素的可见性,它就会通过添加启动动画的“start”类来触发动画。
代码实现
HTML
<div class="bar"> <div class="level eighty">80%</div> </div>
CSS
.eighty.start { width: 0px; background: #aae0aa; -webkit-animation: eighty 2s ease-out forwards; -moz-animation: eighty 2s ease-out forwards; -ms-animation: eighty 2s ease-out forwards; -o-animation: eighty 2s ease-out forwards; animation: eighty 2s ease-out forwards; }
jQuery
function isElementInViewport(elem) { var $elem = $(elem); // Get scroll position var viewportTop = $(scrollElem).scrollTop(); var viewportBottom = viewportTop + $(window).height(); // Get element position var elemTop = Math.round( $elem.offset().top ); var elemBottom = elemTop + $elem.height(); return ((elemTop viewportTop)); } function checkAnimation() { var $elem = $('.bar .level'); // Prevent re-animation if ($elem.hasClass('start')) return; if (isElementInViewport($elem)) { $elem.addClass('start'); } } // Capture scroll events $(window).scroll(function(){ checkAnimation(); });
以上是如何在滚动到视图时触发 CSS3 动画?的详细内容。更多信息请关注PHP中文网其他相关文章!
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架

本文讨论了CSS盒装属性,该属性控制了元素维度的计算方式。它解释了诸如Content-Box,Border-Box和Padding-Box之类的值,以及它们对布局设计和形式对齐的影响。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
Windows 11 KB5054979中的新功能以及如何解决更新问题
3 周前ByDDD
如何修复KB5055523无法在Windows 11中安装?
2 周前ByDDD
Inzoi:如何申请学校和大学
4 周前ByDDD
如何修复KB5055518无法在Windows 10中安装?
2 周前ByDDD
Roblox:Dead Rails - 如何召唤和击败Nikola Tesla
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

Dreamweaver CS6
视觉化网页开发工具

Dreamweaver Mac版
视觉化网页开发工具

WebStorm Mac版
好用的JavaScript开发工具