会8门外语的“莎莎”:让异乡客在这里成为“阿依乐” - 皇冠体育赛事
中新网义乌10月2日电 题:会8门外语的“莎莎”:让异乡客在这里成为“阿依乐” 作者 赵晔娇 王潇婧 在浙江义乌江东街道五爱社区,有一扇门总是敞开着。 步入其中,映入眼帘的是满墙的合影和中外客商送来的锦旗。有的用中文写着“莎莎下次来中国还找你喝茶”,有的用英文写着“Thank you for your help”(谢谢你的帮助)…… 这里是“阿依乐·莎莎工作室”。负责人吐送尼莎肉孜买提来自新疆和田,是义乌市公安局江东派出所的一名辅警。“因为名字太长,大家都亲切地叫我‘莎莎’。”她笑着说。 莎莎(左一)与民族同胞在工作室交流。毛佳仪 摄 扎根义乌近十年,她
不少设计师觉得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矩阵变换对新手来说往往比较棘手。
- 先想清楚要做什么,再规划如何执行。