为了账号安全,请及时绑定邮箱和手机立即绑定

醉了,醉了,求助

<!DOCTYPE html>

<html>


<head>

<meta charset="utf-8" />

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>无解</title>

<style type="text/css">

<style type="text/css">

body,div,span{

margin: 0;

padding: 0;

}

#div1 {

width: 200px;

height: 200px;

background: red;

position: relative;

left: -200px;

top: 0;

}

#div1 span {

width: 20px;

height: 50px;

background: blue;

position: absolute;

left: 200px;

top: 75px;

}

</style>

<script type="text/javascript">

window.onload = function() {

var oDiv = document.getElementById("div1");

oDiv.onmouseover = function() {

startMove(0);

}

oDiv.onmouseout = function() {

startMove(-200);

}

}

var timer = null;


function startMove(iTarget) {

clearInterval(timer);

var oDiv = document.getElementById("div1");

timer = setInterval(function() {


var speed = (iTarget - oDiv.offsetLeft) / 20

speed = speed < 0 ? Math.ceil(speed) : Math.floor(speed);

if(oDiv.offsetLeft == iTarget) {

clearInterval(timer);

} else {

oDiv.style.left = oDiv.offsetLeft + speed + "px";

}

}, 30);

}

</script>

</head>


<body>

<div id="div1">

<span id="share">分享</span>

</div>

</body>


</html>


正在回答

1 回答

speed = speed < 0 ? Math.ceil(speed) : Math.floor(speed); 这句错了;

速度为正时,要往上取整,速度为负时,往下取整,你刚好写反了。

你与教程视频里的区别在与,教程中判断时 speed>0,你这判断的是<0,所以语句顺序也要改一下。

还有重复了<style type="text/css">,按理说这种写错了软件应该会提醒的。

加油~


0 回复 有任何疑惑可以回复我~
#1

哈尔波儿 提问者

可以了,谢谢
2018-08-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

醉了,醉了,求助

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信