使用jQuery制作伪元素的动画
Animate of pseudo elements using jQuery
我使用的是a:after
,它包含right: Ypx
。
我想在jQuery中使用animate
方法将元素(a:after
)从Ypx移动到Zpx,我该怎么做?
例如:
[link-text][after]
[link-text]-- moving > --[after]
我知道没有动画怎么做,只做a:hover:after { right: Zpx }
,但有动画怎么做?
您试图做的是非常棘手的,我强烈建议您放置make real元素,而不是尝试设置伪元素的动画。然而,供将来参考:为伪元素设置动画的唯一方法是插入style
标签并更改实际CSS中的值,例如…
var styles = document.getElementById("pseudo-mover")
var distance = 100;
var move = function(){
styles.innerHTML = ".box:after {left: " + distance + "px}";
distance++;
if (distance < 200)
setTimeout(move, 30);
}
move()
http://jsfiddle.net/X7aTf/
这是普通的js,但您可以使用jquery的animate
中的step
回调来挂接jquery的宽松和计时函数。
您可以使用CSS3转换来实现这一点,但遗憾的是,(据我所知)目前只有FireFox 4+支持它们。
http://jsfiddle.net/XT6qJ/1/
#foo:after{
content:'!';
display:inline-block;
border:solid 1px #f00;
padding:3px;
width:25px;
text-align:center;
-webkit-transition:margin-left 1s;
-moz-transition:margin-left 1s;
-ms-transition:margin-left 1s;
-o-transition:margin-left 1s;
transition:margin-left 1s;
}
#foo:hover:after{
margin-left:100px;
}
请改用next()。以下是你如何做到这一点。
相关文章:
- 使用svg和javascript将一个类的元素动画化为另一个类
- 如何在一个元素动画之后延迟
- 将列表元素动画制作到顶部
- 如何在山露网站上完成元素动画
- 制作AngularJS路线之间的英雄元素动画
- 设置元素动画jquery
- 我将如何修复由于上面的元素动画而移动的元素
- 修复了元素动画滚动主体在顶部
- 无法在 jquery 中获取元素动画以等待另一个元素动画
- Javascript - 从任何位置将元素动画到屏幕中心
- 在设置元素动画的过程中降低速度
- 跳转到元素动画
- jQuery鼠标后跟事件与元素动画相结合
- 使用Jquery将元素动画制作到窗口的右边缘
- Jquery/CSS带回调的顺序元素动画
- 如何在jquery中停止以前的dom元素动画
- 元素.动画,在动画完成后应用样式更改
- 在Bootstrap Modal中检测滚动使滚动上的每个元素动画化
- 当绑定值发生变化时,如何使元素动画化?
- 检测子元素动画