运动框架(js)—上下滑动的侧边栏

本文介绍了一个使用CSS样式和JavaScript实现元素随滚动条平滑移动的案例。通过设置元素的绝对定位并结合JavaScript来监听滚动事件,实现了动态调整元素位置的效果。文章详细展示了如何利用startMove函数控制元素平滑移动,并提供了完整的CSS、HTML及JavaScript代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >




css:

#div{
    width:100px;
    height:200px;
    background: goldenrod;
    position: absolute;
    right:0;
}
 #div span{
     width: 25px;
     height: 70px;
     position: absolute;
     right:100px;
     top:65px;
     background: rebeccapurple;
     color:#fff;
 }
html:

<body style="height: 2000px;">
<div id="div">
    <span>分享到</span>
</div>
<body/>
js:
window.onscroll=function () {
    var oDiv=document.getElementById("div");
    var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
    var client=(document.documentElement.clientHeight-oDiv.offsetHeight)/2;
    var t=scrollTop+client;
startMove(parseInt(t))}//运动框架 var timer=null;//timer写在函数外 function startMove(itarget) { var oDiv=document.getElementById("div"); clearInterval(timer); timer=setInterval(function () { var iSpeed=(itarget-oDiv.offsetTop)/8; iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed) if(oDiv.offsetTop==itarget){ clearInterval(timer) }else{ oDiv.style.top=oDiv.offsetTop+iSpeed+"px"; } },30) }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值