他们的崇高精神永远铭记在亿万人民心中 - 皇冠体育官网
9月30日是烈士纪念日。英雄烈士,一直是习近平总书记心之所系、情之所牵。党的十八大以来,习近平总书记缅怀先烈的足迹遍布大江南北,一次次向革命先烈敬献花篮、瞻仰革命历史纪念场所、看望烈士家属。 英雄是民族最闪亮的坐标。习近平总书记强调,“对一切为党、为国家、为人民作出奉献和牺牲的英雄模范人物,我们都要发扬他们的精神,从他们身上汲取奋发的力量,共同为推进中国特色社会主义伟大事业、实现中华民族伟大复兴的中国梦而顽强奋斗、艰苦奋斗、不懈奋斗。”
不少设计师觉得CSS动画比JavaScript更难驾驭,但事实上CSS动画在性能上往往更胜一筹,潜力远超想象。
借助JavaScript的灵活控制,CSS动画与过渡能实现硬件加速效果,比大多数JS库更高效。现在就开始探索吧!
即刻启程,玩转动画!
玩转CSS过渡效果
在技术社区中,常有人询问如何用JavaScript触发或暂停元素过渡。其实解决方案非常简洁。
只需通过JavaScript为元素切换一个触发过渡的类名即可实现。
要暂停过渡,可在目标时刻用getComputedStyle和getPropertyValue获取当前样式值,然后直接设置CSS属性。
巧用JavaScript回调函数
一个鲜为人知的技巧是监听CSS动画触发的DOM事件,如animationend、animationstart、animationiteration和transitionend,它们能精准反馈动画状态。
目前这些事件仍需添加浏览器前缀,推荐使用Craig Buckler开发的PrefixedEvent函数,传入element、type和callback参数即可实现跨浏览器兼容。
CSS动画事件监听技巧
我们可以在动画开始、迭代和结束时做出响应,但若想在动画运行中途修改样式,则需要更巧妙的操作。
animation-play-state属性详解
CSS的animation-play-state属性非常适合暂停和恢复动画,通过JavaScript修改该属性(注意添加前缀)即可轻松控制。
元素.样式.第一时间传递最新潮流趋势。 = "已暂停";
元素.样式.打造让个性闪耀的时尚平台。 = "运行中";
实时获取动画关键帧进度
遗憾的是,目前无法获取CSS关键帧动画的精确“完成百分比”。 最精确的近似方法是使用setInterval函数。 在动画期间迭代100次,即:动画时长(毫秒)/ 100。例如,如果动画持续4秒,则setInterval需要每40毫秒(4000/100)运行一次。
var showPercent = window.setInterval(function() {
if (currentPercent < 100) {
currentPercent += 1;
} else {
currentPercent = 0;
}
// Updates a div that displays the current percent
result.innerHTML = currentPercent;
}, 40);
扎实功底,脱颖而出
动手编码前先规划好动画的执行方式,能最大程度避免问题,远比事后搜索解决方案更高效。本文介绍的技巧未必适合所有项目,但能提供重要思路。
下面是一个仅用HTML和CSS巧妙解决问题的实例,原本你可能想用JavaScript来实现。
结语:用风格点亮未来
- 过去开发者常常需要在CSS与JavaScript之间二选一。
- 在JavaScript中,CSS过渡通常比CSS动画更容易控制。
- CSS矩阵变换对新手来说往往比较棘手。
- 先想清楚要做什么,再规划如何执行。