码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • js--定时器--匀速动画,缓动动画


    1. // 匀速动画
    2. function animate(obj, target) {
    3. clearInterval(obj.tim)
    4. var newvalue = 0;
    5. obj.tim = setInterval(function () {
    6. newvalue = obj.offsetLeft + 5;
    7. if (newvalue >= target) {
    8. newvalue=target;
    9. clearInterval(obj.tim)
    10. }
    11. obj.style.left = newvalue + 'px';
    12. }, 30)
    13. }
    14. // 缓动动画 :(目标值-现在位置)/10
    15. function animate2(obj, target ,callback) {
    16. console.log('开始');
    17. clearInterval(obj.tim)
    18. var newvalue = 0;
    19. var step = 0;
    20. obj.tim = setInterval(function () {
    21. step =(target - obj.offsetLeft) / 10;
    22. step =step>0?Math.ceil(step):Math.floor(step);
    23. newvalue = obj.offsetLeft + step;
    24. if (newvalue >= target&&step>0||newvalue <= target&&step<0) {
    25. newvalue=target;
    26. clearInterval(obj.tim);
    27. if(callback){
    28. callback()
    29. }
    30. console.log('结束');
    31. }
    32. obj.style.left = newvalue + 'px';
    33. }, 30)
    34. }

    ​​​​​​​动画函数的使用

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Documenttitle>
    8. <style>
    9. .sliderbar{
    10. width: 150px;
    11. height: 50px;
    12. /* background-color: aqua; */
    13. position: relative;
    14. overflow: hidden;
    15. margin-left: 500px;
    16. }
    17. .con{
    18. width: 50px;
    19. height: 50px;
    20. position: absolute;
    21. background-color: plum;
    22. top: 0;
    23. right: 0;
    24. font-size: 20px;
    25. line-height: 25px;
    26. text-align: center;
    27. }
    28. span{
    29. position: absolute;
    30. height: 50px;
    31. width: 100px;
    32. background-color: powderblue;
    33. top: 0;
    34. left: 100px;
    35. line-height: 50px;
    36. font-size: 20px;
    37. }
    38. style>
    39. head>
    40. <body>
    41. <div class="sliderbar">
    42. <span><span>
    43. <div class="con">问题反馈div>
    44. div>
    45. <script src="./animation.js">script>
    46. <script>
    47. var span=document.querySelector('span');
    48. var con=document.querySelector('.con');
    49. con.onmouseenter=function(){
    50. animate2(span,0)
    51. }
    52. con.onmouseleave=function(){
    53. var target=con.offsetLeft;
    54. animate2(span,target)
    55. }
    56. script>
    57. body>
    58. html>
  • 相关阅读:
    pytorch的backward()的底层实现逻辑
    可视化大屏的终极解决方案居然这么简单,autofit.js一行全搞定!
    聚合打车“战火”不停歇
    设计模式——观察者模式
    Elasticsearch:部署 ECE (Elastic Cloud Enterprise)
    深入了解面向对象——面向对象的重要特征(C#)未写完
    神经网络专家系统的意思,神经网络专家系统结构
    PDM篇 | SOLIDWORKS 2024新功能
    【应用统计学】参数统计-抽样分布
    语言基础篇12——Python有哪些异常,优雅的处理异常
  • 原文地址:https://blog.csdn.net/cmy741741/article/details/126095439
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号