整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

AutoAnimate,一款零配置 JavaScri

AutoAnimate,一款零配置 JavaScript 过渡动画库

,大家好,我是镇长,lee。

又到了与大家见面的时间,今天向小伙伴们分享另一款 JavaScript 动画库 -- AutoAnimateAutoAnimate 是一个零配置的嵌入式动画库,可添加平滑的过渡。您可以将它与 React、Solid、Vue、Svelte 或任何其他 JavaScript 应用程序一起使用。

https://github.com/formkit/auto-animate

AutoAnimate 简介

AutoAnimate 是一款无需任何配置的过渡动画库。只需使用一行代码将自动动画添加到您的 JavaScript 应用程序中。下面我们一起走入 AutoAnimate 的神秘世界吧。

安装 AutoAnimate

使用 AutoAnimate 之前,先将包引入到项目中,这次使用包管理工具进行安装。

使用 yarn

yarn add @formkit/auto-animate

使用 npm

npm install @formkit/auto-animate

基本用法

开始之前先介绍下 autoAnimate 函数,它接收执行动画的父元素。自动动画将被应用在父元素及其直接子元素上,三个阶段会自动触发动画:

  • ? 添加:子级元素添加到 DOM 中时
  • ? 删除:子级元素从 DOM 中删除时
  • ? 移动:子级元素在 DOM 移动时

有了上面的知识储备,下面我们开始使用 AutoAnimate 创建动画,首先创建一个原生的 JavaScript 示例。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <div id="dropdown" class="dropdown">
    <span id="button" class="dropdown-label">
      Toggle
    </span>
  </div>
  <script type="module">
    import autoAnimate from './js/autoAnimate.js'
    const btn=document.getElementById('button')
    btn.addEventListener('click', toggle)
    const dropdown=document.getElementById('dropdown')

    autoAnimate(dropdown) // 调用 AutoAnimate 函数,将父元素传入
  
    const p=document.createElement('p')
    p.innerText="我是新增的内容,使用 autoAnimate 添加过渡动画"
    function toggle () {
      dropdown.contains(p) ? p.remove() : dropdown.appendChild(p)
    }
  </script>  
</body>
<style>
  .dropdown {
    border: 1px solid black;
    border-radius: 10px;
    padding: 10px 20px;
    width: 300px;
  }
</style>
</html>

上面的例子,在父元素 dropdown 中插入和删除 p 标签,通过 toggle 按键切换,一个很简单的一个功能。只需一行代码 autoAnimate(dropdown) 引入 autoAnimate 函数将父元素 dropdown 传递给它,自动实现切换的过渡效果。相关如下:

进阶用法

AutoAnimate 旨在以零配置的方式使用,无需让开发人员投入过多的精力大幅度提升应用程序的用户体验。除了默认配置外,还提供了一些可选的配置项:

autoAnimate(el, {
  // 动画持续时间,以毫秒为单位(默认值:250)
  duration: 250,
  // 运动的缓动函数(默认值:'ease-in-out')
  easing: 'ease-in-out',
  // 当设置为 true 时,即使用户通过 prefers-reduced-motion 表示不希望有动画,也将启用动画。
  disrespectUserMotionPreference: false
})

其中包括设置动画持续时间、缓动函数以及是否忽略用户对减少动画的偏好。

AutoAnimate 支持 ReactVuePreactSolidSvelte 等框架,下面以 Vue 为例,演示如何在框架中使用。在 Vue 中支持两种使用方式:

  • ? 指令:v-auto-animate
  • ? 组合: useAutoAnimate

指令

<script setup>
import { ref } from 'vue'
const items=ref(["","","","","", ... ])
function removeItem(toRemove) {
  items.value=items.value.filter((item)=> item !==toRemove)
}
</script>

<template>
  <h5>Click emojis to remove them.</h5>
  <ul v-auto-animate>
    <li
      v-for="item in items"
      :key="item"
      @click="removeItem(item)"
    >
      {{ item }}
    </li>
  </ul>
</template>

将指令添加到父元素上,另外 v-auto-animate 支持配置参数 <ul v-auto-animate="{duration: 200}">

组合

<script setup>
import { ref } from "vue"
import { useAutoAnimate } from "@formkit/auto-animate/vue"

const balls=ref(["red", "green", "blue"])
const [parent]=useAutoAnimate({ duration: 500 })
setInterval(()=> {
  balls.value.push(balls.value.shift()!)
}, 600)
</script>

<template>
  <ul class="balls" ref="parent">
    <li v-for="color in balls" :key="color" :class="color">
      {{ color }}
    </li>
  </ul>
</template>

通过引入 useAutoAnimate 实现,效果如下图:

总结

通过这篇入门指南,希望你对 AutoAnimate 有了初步的了解。当你在项目中需要引入过渡动画效果时,希望能想起来它。不仅功能强大,更是开发者友好,零配置提升用户体验的绝佳神器。


更多内容请关注公众号:猿镇

国网汽车9月16日讯 (记者 王芳 实习记者 张赛)汽车天窗不仅能够采光、通风,还能提升车内的通透感。斯柯达柯珞克全景天窗采光面积达1.17平方米,不仅放大了视觉效果,还给车内营造出了更大的空间感。但是汽车天窗一旦漏雨就会成为一个非常困扰的问题,雨水除了从天窗“倒入”车内外,还会沿着a柱或c柱流到车辆地毯,在地毯下形成积水,被雨水打湿的内饰会发霉,被雨水接触到的车身金属尤其是漆面破损部分会被腐蚀。近日,中国网汽车质量投诉平台(https://315.auto.china.com.cn/zlts.html)就接到一位车型为斯柯达柯珞克的车主投诉,车主表示9月14日发现车辆天窗漏水严重,后座和后备厢被天窗倒灌进来的雨水浸透无一幸免。

记者随即联系到了车主谭先生。谭先生描述到,9月14日上海为台风天气,自己驾驶车辆外出时发现天窗漏水,且情况较为严重,回到家检查车辆,发现后座和后备厢都被雨水浸湿。谭先生随即前往上海市郊县百合斯柯达4S店进行维修。

谭先生表示,目前车辆正在维修中,自己还不知道后续会怎么处理,只知道当时维修负责人说“这种天窗漏水情况是因为车主自行安装倒车影像导致”。而谭先生表示这种情况并非个例,因为自己去维修期间,也发现另一名同款车型的车主正在处理同样的问题。在记者问到车主的诉求时,谭先生只表示自己关心这种情况能不能修好,且在保修期间内该种情况的维修需不需要自己付费。

记者随后联系到了该4S店对接谭先生的负责人沈女士。沈女士表示“谭先生这种情况属于质量问题,因为是在三年维修期内,所以会给谭先生免费更换配件”。在问到因为天窗漏水问题来进行维修的车主多不多时,沈女士表示“多”。但是在问到谭先生这种因为质量问题导致的车窗漏水情况多不多时,其表示“并不多”。

记者又拨通了厂家400客服电话,厂家表示天窗漏水最主要的原因是天窗的排水孔堵塞,但具体问题得具体分析,并表示会让售后持续跟进谭先生的维修情况。在问到该类投诉情况是否经常出现时,厂家表示“该情况并不常见”。此外,厂家还表现出想在中国网汽车质量投诉平台持续跟进用户反馈的意愿。

记者查阅到,根据《家用汽车产品修理、更换、退货责任规定》第十八条:在家用汽车产品包修期内,家用汽车产品出现产品质量问题,消费者凭三包凭证由修理者免费修理(包括工时费和材料费)。

天窗漏水一般是由两种原因引起:一是因为天窗排水槽里的小沙粒和灰尘未及时清理而导致堵塞;二是天窗密封胶条出现了“被掀起”移位情况。那么如果车辆遇到天窗漏水的情况,车主可以怎么做呢?车主首先可以检查排水口有没有被灰尘土砾堵塞,因为大部分车窗漏水的情况都是由于此种原因导致;其次车主需要定期检查天窗周边密封圈是否破损,并检查轨道润滑情况。在定期维护期间,车主可以将天窗打开,用干净的布料擦拭滑轨上的污尘,然后用润滑剂对天窗滑轨进行润滑。在春秋两季,车主可以隔一个季度用湿润的海绵对密封圈进行清洁。此外,在平时洗车时切忌直接将水对准天窗密封圈喷洗,因为这会导致密封圈变形。如实在找不出漏水原因,车主可前往4S店让专业人员淋水测试以溯源修理。

国网汽车9月28日讯 (记者 王忆东)作为电动汽车来说,如果电控系统出现质量问题,将存在严重的安全隐患。近日,中国网汽车质量投诉平台(https://315.auto.china.com.cn/zlts.html)接到一位岚图FREE车主投诉新车就出现了动力系统故障,质疑车辆存在严重的质量缺陷。

车主曹先生告诉记者,自己于6月7日从广东省深圳市岚图汽车销售服务有限公司深圳分公司刚刚提车,12日就出现了蓄电池电压低和倒车时整车短暂抖动失控的情况。随后在17日,车辆再次剧烈抖动失控,与此同时,驱动电机故障指示灯和车辆动力系统故障指示灯亮起。后经维修人员拖回交付中心检修,告知车主车辆存在驱动电机控制器(MCU)故障,要对MCU进行整体拆装更换,然后再调试车辆。并解释称蓄电池电压低的情况是充电模块软件bug,需要升级解决。

然而对于该解决方案,车主表示不能接受,“新车就爆发这么严重的质量问题,我提出退换车的要求。”他向记者透露:“岚图汽车方面始终不愿承担售卖不合格产品的退换责任,即使更换MCU,也不愿对维修后的车辆提供质量保证……”

新车存动力系统故障 厂家“维修替代退换”令车主不满

车主强调:“电控是新能源车‘三大件’之一,单独拆除更换控制器部分将严重影响车辆安全性和耐用性,岚图汽车这种行为本质上是将自己生产的不合格故障车辆强行转嫁给客户买单。”

据了解,在曹先生维权后,当地消委会曾组织车主及4S店共同沟通协商处理此事,“4S店给的方案是车辆维修后,赔偿(给车辆)终身质保及保养,但这个方案还要上报给厂家确认,说近期给我答复……没有办法,我们消费者就是很弱势……”车主无奈地表示。

此外,曹先生也向记者表达了自己对岚图汽车失望之情:“岚图汽车用维修解决故障替代退换车辆,该做法极为傲慢,极其不负责任、损害了消费者合法权益。”同时,他认为岚图汽车的做法与其销售时所宣称的服务客户精神和产品质量可靠完全相悖,涉嫌虚假宣传。

对此,记者也联系了岚图汽车方面,希望了解投诉进展细节,对方表示该投诉已与用户达成一致。

记者从《家用汽车产品修理更换退货责任规定》中第二十二条查阅到:家用汽车产品自三包有效期起算之日起7日内,因质量问题需要更换发动机、变速器、动力蓄电池、行驶驱动电机或者其主要零部件的,消费者可以凭购车发票、三包凭证选择更换家用汽车产品或者退货。销售者应当免费更换或者退货。

经过我网投诉平台的沟通协调,发稿前,记者再次回访了车主曹先生,他告诉记者,岚图汽车已经落实了相关解决方案:为车辆更换故障MCU后,提供车辆的终身质保及免费保养服务。车主也同意了该解决方案。

此外,通过记者调查发现,除了因岚图FREE电控问题遭投诉外,也有部分车主在网络投诉平台投诉该车型还存在续航里程与宣传不符、变速箱顿挫等故障。在我网投诉平台中,此前也收到过“岚图FREE存在续航里程与宣传不符”的投诉信息,并质疑岚图或存在快充造假的问题。

上市后销量不济 突发起火事件引发质疑

作为东风汽车旗下高端电动品牌岚图的首款车型,岚图FREE定位于5座中大型SUV,2021年6月上市,推出纯电版和增程版两种动力车型,售价分别为33.36万元和31.36万元。然而上市后其市场表现却并不理想,截至2021年底,该车销量也仅为6431辆。

进入2022年后,岚图FREE更是呈现出后劲不足的趋势。据第三方数据统计,今年1-7月份岚图累计销量仅有8000余辆,8月份,虽然岚图汽车两款车共交付量达2429 辆,环比增长35%,然而岚图FREE月销却仅800余辆。

值得关注的是,在岚图汽车年中工作会上,岚图汽车还对其今年的销量目标进行了下调,由此前岚图汽车CEO卢放宣称的“销量4.6万辆,产量4.8万辆”目标,下调至“必达3.1万辆,挑战3.7万辆”。尽管销量目标下调30%左右,但目前刚过万辆的总销量,想要完成3.1万辆的销量目标,仍存在巨大缺口。

相比其对标车型理想ONE月均过万的销量,岚图汽车的差距可谓颇大。从中也不难看出,定位高端电动品牌的岚图汽车,无论在价位还是品牌影响力方面,在新能源市场中的表现均处于劣势。

值得一提的是,就在岚图FREE上市一周年之时,又突发了疑似自燃事件,这对品牌发展无疑产生了巨大的负面影响。对于新能源汽车来说,安全问题一直备受关注,作为易燃易爆品的电池部分又是导致自燃事故发生的最大诱因之一。

据媒体报道,6月26日,在湖北襄阳某地,一辆岚图FREE车辆发生了起火事故。从现场情况来看,起火车辆位于充电桩前,车底有明火喷出,同时伴有大量浓烟。后经消防人员赶到控制了火势。该事故也引发了诸多对该车型质量的质疑声。

在起火事故发生两天后,6月28日,岚图方面发布声明回应:“当前该情况未造成人员及周边财产损失,车辆状态为局部受损。岚图联合供应商正在积极调查事故原因,待调查结果出来后,将第一时间详细公布。”

然而记者关注到,就在今年3月份,岚图汽车在其举行的一场技术分享会上,曾公开表示其电池通过安全检测,特别是在发生电池热失控后,岚图FREE的电池包静置50天后仍然能做到“不冒烟、不起火、不爆炸”在内的“三不原则”。在主动安全措施方面,不仅能够实时的监测,还可提前2小时对冒烟、起火、爆炸等关键故障预测,对电池内短路、欠压等故障,做到提前一周预警。