jQuery的animate函数 无法实现border-radius属性由50px->0的过渡动画?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.container{
width: 800px;
height: 400px;
margin: 0 auto;
position: relative;
text-align: center;
background: #ddd;
}
.container div{
width: 50px;
height: 50px;
position: absolute;
top: 50%;
left: 50%;
background-color: pink;
/*初始 的border-radius 50%*/
border-radius: 50%;
}
.container div:first-child{
margin-top: -100px;
}
.container div:nth-child(2){
margin-left: -100px;
background-color: blue;
}
.container div:nth-child(3){
margin-left: 100px;
background-color: yellow;
}
.container div:nth-child(4){
background-color: green;
margin-top: 100px;
}
</style>
</head>
<body>
<div class="container">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<script src="https://code.jquery.com/jquery-3.4.0.min.js"></script>
<script >
var a = $('.container>div');
$(a[0]).animate({
'margin-top': '100px',
// 此属性设置无效 。只能由小到大
'borderRadius': 0,
},1000);
// setInterval(function () {
// $(a[0]).animate({
// 'margin-top': '100px',
// 'borderRadius': 25,
// },1000).animate({
// 'margin-top': '-100px',
// 'borderRadius': 0,
// },1000);
// $(a[1]).animate({
// 'margin-left': '100px',
// 'borderRadius': 25,
// },1000).animate({
// 'margin-left': '-100px',
// 'borderRadius': 0,
// },1000);
// $(a[2]).animate({
// 'margin-left': '-100px',
// 'borderRadius': 25,
// },1000).animate({
// 'margin-left': '100px',
// 'borderRadius': 0,
// },1000);
// $(a[3]).animate({
// 'margin-top': '-100px',
// 'borderRadius': 25,
// },1000).animate({
// 'margin-top': '100px',
// 'border-radius': 0,
// },1000);
// },1000);
</script>
</body>
</html>
正在回答
同学你好,这是因为jQuery中animate方法对border-radius的动画存在问题,可以尝试下面这种写发兼容火狐浏览器
$(a[0]).animate({ 'margin-top': '100px', "borderTopLeftRadius": 0, "borderTopRightRadius": 0, "borderBottomLeftRadius": 0, "borderBottomRightRadius": 0, }, 1000, function() { $(a[0]).animate({ 'margin-top': '-100px', 'borderRadius': "50px", }, 1000, ) });
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~
- 参与学习 人
- 提交作业 467 份
- 解答问题 4826 个
本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星