文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

javascript怎么实现悬浮跟随框缓动效果

2023-06-29 18:56

关注

今天小编给大家分享一下javascript怎么实现悬浮跟随框缓动效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

定义一个运动函数,当触发时调用,并且传递一个目标位置作为参数
2、运动函数内部,调用定时函数,在定时函数内部,先求出元素位置与目标位置的距离差,然后除以一个数值作为速度(由于距离差一直在缩小,所以速度值也一直在变小,从而达到缓动效果)
3、由于网页上位置设置最小单位是1px,所以在步骤二中的运算可能会出现小数的情况,我们需要对小数进行处理,否则元素到达的位置总是和目标位置有1px的差距。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html xmlns="http://www.w3.org/1999/xhtml">    <head>        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />        <title>New Web Project</title>        <style>            #div1{                width:100px;                height:150px;                background: red;                border:1px solid #008000;                right:0px;                position: absolute;            }            #div2{                width:1920px;                height:1px;                background:red;                                position: absolute;            }                    </style>        <script>            window.οnlοad=function(){                var oDiv=document.getElementById('div1');                var oDiv1=document.getElementById('div2');                var timer=null;                oDiv.style.top=(document.documentElement.clientHeight-oDiv.offsetHeight)/2+document.documentElement.scrollTop+'px';                window.οnscrοll=function(){                    var scrolltop=document.documentElement.scrollTop || document.body.scrollTop;                    var iTarget=(document.documentElement.clientHeight-oDiv.offsetHeight)/2+scrolltop;                    iTarget=Math.floor(iTarget);                    oDiv1.style.top=iTarget+'px';                    startMove(iTarget);                                    };                function startMove(itarget){                                        clearInterval(timer);                    timer=setInterval(function(){                        var iDis=itarget-oDiv.offsetTop;                        var speed=iDis/5;                        if(iDis>=0){                            speed=Math.ceil(speed);//当speed为小于1的数时,将它变为1,从而使元素位置移动一个像素,因为小于1的像素会被近似为0                        }                        else{                            speed=Math.floor(speed);                        }                        if(oDiv.offsetTop==itarget)                        {                            clearInterval(timer);                        }                        else                        {                            oDiv.style.top=oDiv.offsetTop+speed+'px';                        }                        document.title=oDiv.offsetTop;                    },30);                                    }                            };        </script>    </head>    <body >        <div id="div1">                    </div>            </body></html>

运行结果图:

javascript怎么实现悬浮跟随框缓动效果

以上就是“javascript怎么实现悬浮跟随框缓动效果”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯