亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

如果瀏覽器不支持小數像素,var speed = (iTarget - oDiv.offsetLeft)/20;當speed等于20以下的時候,oDiv.style.left = oDiv.offsetLeft + speed +'px';這里的speed就小于1了。瀏覽器應該在20px左右的時候就停止了,為什么是在10px左右的時候停止呢

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title></title>

<style type="text/css">

body,div,span{

margin: 0;

padding: 0;

}

? ?#div1{

? ? width: 200px;

? ? height: 200px;

? ? left: -200px;

? ? background-color: red;

? ? position: relative;

? ?}

#div1 span{

width: 20px;

height: 50px;

background-color: blue;

position: absolute;

top:75px;

left: 200px;

}

</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;

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>

如果瀏覽器不支持小數像素,var speed = (iTarget - oDiv.offsetLeft)/20;當speed等于20以下的時候,oDiv.style.left = oDiv.offsetLeft + speed +'px';這里的speed就小于1了。瀏覽器應該在20px左右的時候就停止了,為什么是在10px左右的時候停止呢

正在回答

2 回答

我猜是因為像素有小數時會四舍五入,所以speed小于1大于0.5時還會動,10px左右的時候停止是剛好speed在0.5的分界線

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

慕斯7571954 提問者

非常感謝!
2016-09-20 回復 有任何疑惑可以回復我~

看教程

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

如果瀏覽器不支持小數像素,var speed = (iTarget - oDiv.offsetLeft)/20;當speed等于20以下的時候,oDiv.style.left = oDiv.offsetLeft + speed +'px';這里的speed就小于1了。瀏覽器應該在20px左右的時候就停止了,為什么是在10px左右的時候停止呢

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號