• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

这段js代码为什么会一直抖动

window.onload = function(){    var returnHome = document.getElementById('return-home');    var returnLeft = document.getElementById('return-home-left');    var returnRight = document.getElementById('return-home-right');    returnRight.onclick = function(){        startMove(0,10);    };    returnLeft.onclick = function(){        startMove(-250,-10);    };    var timer = null;    function startMove(a,b){        var returnHome = document.getElementById('return-home');        setInterval(function(){            if(returnHome.offsetLeft === a){                clearInterval(null);            }else{                returnHome.style.left = returnHome.offsetLeft + b +"px";            }        },30);    }};                                    返回首页                                          
                
  •                  关            
  •                 首页            
  •                 首页            
  •                 首页''            
  •                 首页            
  •                  开        
             @charset 'UTF-8';.return-home{    font-size: 0;    position: fixed;    z-index: 999999;    bottom: 5%;    /*left: calc(100% / 6 - 100%);*/    left: -250px;    display: inline-block;    overflow: hidden;    width: 300px;    height: 50px;    margin: 0;    padding: 0;    opacity: .7;    border: 0;    background-color: white;}.return-home li{    font-size: 0;    display: inline-block;    width: 50px;    height: 100%;    margin: 0;    padding: 0;    list-style: none;    border: 0;}.return-home .sidebar{    background-color: transparent;}.return-home .sidebar a{    color: #666;}.return-home li a{    font-size: 14px;    display: inline-block;    width: 100%;    height: 100%;    text-align: center;}.return-home li a span{    font-size: 24px;    display: inline-block;    width: 100%;    margin-top: 5px;}

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

有几个地方要注意和修改的:
1、startMove(0,10),表达的意思是以10px的速度到达left为0的位置
如果你body初始margin(好像是8)没有去掉(我看你CSS代码上面没有),那么你用offsetLeft初始位置就是8,你以每次10px的速度永远到不了offsetLeft=0这个位置
2、if(returnHome.offsetLeft===a){
clearInterval(null);
}
这个动画停不了,给setInterval起个名字,然后再把null换掉

3、functionstartMove(a,b)函数一开始要放置一个clearInterval,否则多次点击计时器会叠加(点一下左点一下右就在那乱抖)

使用道具 举报

图标字体的没给,

使用道具 举报

发新帖

发布任务需求已有1031166位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!