扫码关注官方订阅号
如图,有若干个p这样排列,当上滑动时,3动画到2,2动画到1,依次类推。反过来,当下滑动时候,1动画到2,2动画到3,依次类推。要可以多次上下滑动的。这样的动画效果应该用什么来实现啊?做了好几天,用transform不行。求个解决的思路,还有用什么。折磨够呛,求大神解答
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
谢邀~
代码提供简单思路~
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> p{ height: 100px; width: 100px; position: absolute; } .p1{ top: 0px; left: 0px; background: red; } .p2{ top: 150px; left: 150px; background: green; } .p3{ top: 300px; left: 300px; background: blue; } button{ position: absolute; top: 20px; left: 150px; } </style> <script src="jquery.min.js"></script> </head> <body> <p class="p1"></p> <p class="p2"></p> <p class="p3"></p> <button onclick="startAnamite()">点我</button> <script> function startAnamite(){ anamiteFun("p1", 150, 150); anamiteFun("p2", 300, 300); anamiteFun("p3", 0, 0); } function anamiteFun(e, top, left){ $("." + e).animate({ top: top, left: left}, 2000, function() { /* stuff to do after animation is complete */ }); } </script> </body> </html>
调用 startAnamite之前需要逻辑判断一下怎么循环比较好
根据题主要求 2.0版本~
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> p{ height: 100px; width: 100px; position: absolute; } .p1{ top: 0px; left: 0px; background: red; } .p2{ top: 150px; left: 150px; background: green; } .p3{ top: 300px; left: 300px; background: blue; } button{ position: absolute; top: 20px; left: 150px; } </style> <script src="jquery.min.js"></script> </head> <body> <p class="p1"></p> <p class="p2"></p> <p class="p3"></p> <button onclick="startAnamite()">点我</button> <script> function startAnamite(){ if(parseInt($(".p1").css("top")) == 0){ anamiteFun("p1", 150, 150); anamiteFun("p2", 300, 300); anamiteFun("p3", 0, 0); } else if(parseInt($(".p1").css("top")) == 150){ anamiteFun("p3", 150, 150); anamiteFun("p1", 300, 300); anamiteFun("p2", 0, 0); } else if(parseInt($(".p1").css("top")) == 300){ anamiteFun("p2", 150, 150); anamiteFun("p3", 300, 300); anamiteFun("p1", 0, 0); } } function anamiteFun(e, top, left){ $("." + e).animate({ top: top, left: left}, 2000, function() { /* stuff to do after animation is complete */ }); } </script> </body> </html>
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
谢邀~
代码提供简单思路~
调用 startAnamite之前需要逻辑判断一下怎么循环比较好
根据题主要求 2.0版本~