首页技术js控制css3动画,js点击css3动画效果

js控制css3动画,js点击css3动画效果

编程之家2026-06-271038次浏览

本篇文章给大家谈谈js控制css3动画,以及js点击css3动画效果对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

js控制css3动画,js点击css3动画效果

CSS3动画和js动画各有什么优劣

CSS3的动画的优点:

1.在性能上会稍微好一些,浏览器会对CSS3的动画做一些优化(比如专门新建一个图层用来跑动画)

2.代码相对简单

但其缺点也很明显:

1.在动画控制上不够灵活

2.兼容性不好

js控制css3动画,js点击css3动画效果

3.部分动画功能无法实现(如滚动动画,视差滚动等)

JavaScript的动画正好弥补了这两个缺点,控制能力很强,可以单帧的控制、变换,同时写得好完全可以兼容IE6,并且功能强大。但想想CSS动画的transform矩阵是C++级的计算,必然要比javascript级的计算要快。另外对库的依赖也是一个很让人头疼的问题。

所以,对于一些复杂控制的动画,使用javascript会比较靠谱。而在实现一些小的交互动效的时候,就多考虑考虑CSS吧。

小程序 纯css 实现tab导航栏下划线跟随动画

很多时候在做tab导航的点击时我们都会要上一个过渡的动画,不然的话会显得生硬,用户没有达到比较佳的用户体验。如下图:

在开发者工具中预览效果

我们可以用两种方法实现这样动画,css3的过渡或者用js去控制。省事的当然是用css3来写啦,我们先来看看css3的具体实现。

js控制css3动画,js点击css3动画效果

css3实现:

先看最基本的.wxml布局:

从图中可以看到,当前tap的line是用专门用一个元素来做的。那么怎么让line跟着tab走动呢?就是红圈部分,用translateX位移来移动,而transitions实现一个过渡效果。

curtab就是当前点击tab的index,点击的tab的index* 250(一个tab的宽度)就能让line跟着走对应的位移了。

来看看.js部分:

这样就能简单实现一个tab跟随动画啦。

(以上方法有个不足,就是tab的宽度是固定的,但是在实际开发中更多时候会遇到宽度不固定的情况。)

js实现:

有些喜欢折腾的同学说想要js来实现呢?当然也是可以的,用js来实现的思路也是一样,用控制line元素的translateX值。那么怎么知道应为位移多少呢?就是动态的去获取该位移的值,然后赋给translateX。

说到动态的去获取元素额left值,可以用到小程序的 wx.createSelectorQuery这个api在传入元素后返回元素的四个位移值。(这里不细说api的用户,不清楚的同学请自行查看文档哈哈哈)

那是不是可以:

来看看具体的实现:

emmm最后说一下,前端时间看到过一个很骚的操作,同样是用纯css实现这种跟随动画,先看看效果图:

.css

jquery 怎样让css内容有渐变效果

动态渐变

<span style="font-size:12px;"><html>

<body>

<center>

<div id="fade" style="width:600px;height:200px;"></div>

</center>

</body>

</html></span>

为了方便查看,使用内嵌样式,还是推荐使用外链样式的使用啊,接下来进行简单编写动态实现渐变效果

<span style="font-size:12px;"><script type="text/javascript">

var node=document.getElementById("fade");

var color="#0000";

var level=1;

window.load=function fading(){

node.style.background=color.+level.toString()+level.toString();

level++;

if(level>16){

clearTimeOut(fading);

}else{

setTimeOut(fading,300);

}

}

<script></span>

静态渐变

在css样式中添加:

background:-webkit-gradient(linear, 100% 0%, 0% 0%, from(#ffffff),color-stop(0.5,#0000ff),to(#ffffff));

简单解释:

linear:这个就碰到了线性渐变和径向渐变的两个概念,无非是在一条线上进行变化的线性和像圆一样向四周扩散的径向;

后面的四个值:分别代表相应方向的px值,可以从左顺时针转的顺序记忆,但是它代表的是to,截止到的颜色

from:这就是开始的颜色了

to:和from是同时出现的,最后渐变结束的颜色

而color-stop:则是指在变化到线的哪个位置的时候会出现什么颜色,当然是从周围过渡过去的,相当于from,to过渡点,from过渡点,to。

如果你还想了解更多这方面的信息,记得收藏关注本站。

lol无限乱斗活动,英雄联盟全英雄限免活动合金战士(合金战士特种部队)