已采纳回答 / 韩侠
和后来讲解的小bug一样, 先变得宽, 再变的高, 如果宽先达到设定值, 关闭定时器, 就是视频中展示的效果, 停止不继续执行动画, 但是原来是把宽增加200px, 高增加100px, 所以是高先满足条件, 就停止了定时器, 之后宽度再次变化是因为鼠标再次移入, 触发了onmouseover事件, 然后宽度向着目标变化了一次, 之后看高度, 因为已经达到预定值, 就再次关闭计时器, 之后的几秒, 你可以看到当鼠标又再次滑到div上面的时候, 宽度实际上又变化了两三次的(我没有经过代码实际验证, 不过我想应...
2017-02-21
已采纳回答 / 尹为者
<!doctype html><html><head><meta charset="utf-8"><title>无标题文档</title></head><body><style>*{ margin:0; padding:0; } div{ width:200px; height:200px; background:red; bord...
2017-02-18
最赞回答 / 学习可以放飞灵魂
它是对类的当前实例的引用。 你的startMove()上面有没有实例, 类似于startMove(Li,'width',400,function(){})里的 “Li”
2017-02-16
已采纳回答 / S01010011
你的意思是为什么不用getAttribute获取CSS样式中的属性值吗? 首先,想要获取外部/嵌入式CSS样式中的属性,getAttribute是做不到的。 getAttribute是用来获取元素上的属性的,比如id、class、用户自定义属性等等。 虽然getAttribute可以获取到内联式CSS样式的属性(返回的是整个字符串,如"color:red;"),但是获取内联式CSS样式有更好的Element.styel.xxx属性(返回的是属性的值,如"red")。 所以获取属性值...
2017-02-16
已采纳回答 / S01010011
odiv[i].onmouseover=function(){ odiv[i].startMove(this,50); } odiv[i].onmouseout=function(){ startMove(this,100); } }这段代码中odiv[i].startMove(this,50);是错的,改成startMove(this,50);就行了。
2017-02-15
已采纳回答 / 一二得三
中括号? 你指的JSON吗? 你是不是想问json属性名是否需要加引号?通常情况下不加引号可以使用,但json作为一种通用性的数据格式,所以必须保持严格性,不然在跨语言开发就会很麻烦,并且不加引号的话,在JS中有时也会造成混乱,所以必须为了保证其严格性,必须要加引号。
2017-02-09
最赞回答 / guoyou
假设-200 》 0的过程,speed = ( iTarget - oDiv.offsetLeft )/20随着移动的过程,oDiv.offsetLeft 值会越来越大,-200 ... -100 .. -50 .. -20 ... -10对应的值speed就越来越小,200/20 100/20 50/20 20/20 10/20 5/20很明显,后面的值是0<speed<1的 而且speed越来越小,所以在oDiv.style.left = o...
2017-02-04
最新回答 / 慕粉3951534
每次鼠标移入移出事件都会触发调用 startMove() 函数,每次调用 startMove() 函数,符合条件的情况下,都会执行 setInterval() 函数创建时钟,如果不先 clearInterval() 清除时钟,那么就会造成时钟多次叠加,比如,本来一次时钟每 30 毫秒移动 10px,两次时钟叠加,则会在 30 毫秒内无规律移动两次 10px,多次时钟叠加就更明显。
2017-01-16