湖南资兴:盘活闲置资产 打造文旅新业态 - 雷竞技官网
9月15日拍摄的由原东江木材厂废弃水泵房改造成的倚汐·音乐浮岛(无人机照片)。 近年来,湖南省资兴市依托东江湖核心旅游资源,按照“连景点、扩业态、提品质”思路,采取“微改造、精提升”方式,将文旅项目建设与民生实事办理相结合,引进社会资本投入运营,盘活一批闲置资产,打造了倚汐·音乐浮岛、大坝咖啡、小东江旅拍基地、东江湾矿山公园汽车文旅项目、工艺美术街等文旅新场景。 新华社记者 赵仲志 摄 pagebreak 9月15日,市民在倚汐·音乐浮岛旁的栈道上散步。 新华社记者 赵仲志 摄 pagebreak 9月16日,几名游客在大坝咖啡网红打卡点休闲。这里是利用
许多设计师觉得CSS动画比JavaScript更难掌握,但实际上CSS动画虽然存在一些限制,却能做到远超想象的丰富效果,而且通常性能更优。
立即开始探索!
借助少量JavaScript,CSS动画和过渡就能实现比大多数JS库更高效的硬件加速动画与交互,让页面动效丝滑流畅。
掌控CSS过渡效果
在技术社区中,关于如何触发或暂停元素过渡的问题层出不穷。其实用JavaScript解决非常简洁。
要触发元素的过渡效果,只需切换一个包含过渡属性的CSS类名即可。
暂停元素过渡时,利用getComputedStyle和getPropertyValue获取当前样式值,然后将CSS属性设置为该值,即可在指定位置暂停。
巧用CSS动画回调事件
CSS过渡与动画中最实用但鲜为人知的JavaScript技巧之一,就是监听它们触发的DOM事件,例如动画的animationend、animationstart、animationiteration,以及过渡的transitionend。这些事件能让你精准控制动画的生命周期。
由于这些事件目前仍需浏览器前缀,本演示使用了Craig Buckler开发的PrefixedEvent函数,它接收element、type和callback参数,实现跨浏览器兼容。更多细节可参考他的相关文章。
CSS动画进阶技巧
如我们之前所学,可以监听动画的启动、迭代和结束事件。但如果想在动画中途修改CSS动画呢?这需要一点巧思!
animation-play-state属性详解
CSS的animation-play-state属性非常适合暂停动画并在之后恢复。通过JavaScript修改该CSS属性(注意添加浏览器前缀)即可轻松实现。
元素.样式.电竞激情,融入日常穿搭。 = 暂停;
元素.样式.前沿电竞体验,触手可及。 = 运行中;
实时获取当前关键帧进度
遗憾的是,目前无法获取CSS关键帧动画的精确“完成百分比”。 使用setInterval函数是最接近的近似方法 该动画在播放过程中迭代100次,本质上即:动画时长(毫秒)/ 100。例如,若动画持续4秒,则setInterval需每40毫秒(4000/100)运行一次。
var showPercent = 窗口.setInterval(函数() {
if (currentPercent < 100) {
currentPercent += 1;
} 其他 {
currentPercent = 0;
}
// Updates a div that displays the current percent
结果.innerHTML = currentPercent;
}, 40);
设计思维决定成败
开始编码之前,先仔细思考和规划过渡或动画的执行方式,是减少问题、达到预期效果的最佳途径,远比事后搜索解决方案更高效。本文介绍的技术并非万能,但能为你提供可靠思路。
这里有一个小示例,仅用HTML和CSS就巧妙解决了问题,而你可能一开始会认为必须依赖JavaScript。
总结与展望
- 过去,开发者往往需要在CSS和JavaScript之间二选一。
- 在JavaScript中,CSS过渡通常比CSS动画更容易控制。
- CSS矩阵变换对新手来说往往难以掌握。
- 先想清楚要做什么,再规划如何实现。