还是写成oDiv.offsetLeft>=0 好点
万一你做练习时没想起div的盒子宽度是要算border的 一时兴起加个border:1px solid red;之类的css 这样盒子宽度是202 每次移动10 结果10次后才移到200,11次移到210了,210-202肯定不等于0了 这样盒子就奔跑不停了 …………
万一你做练习时没想起div的盒子宽度是要算border的 一时兴起加个border:1px solid red;之类的css 这样盒子宽度是202 每次移动10 结果10次后才移到200,11次移到210了,210-202肯定不等于0了 这样盒子就奔跑不停了 …………
2016-08-22
学完这趟课程,再来看现在的Jquery理解就容易多了, 也间接的知道Jquery是如何实现的,知道这么写的道理是为什么, 有了这样的思维,用起来也就不疑惑了,看来理解JS原生代码,对JS编程有很大的帮助, 这是自己的一点点小小感悟吧
2016-08-22
最后的 if (flag) { clearInterval(obj.timer); },这段代码我觉得应该放在里面,当width, height,opacity都到达了目标值后,speed等于0, 就不会在加,width,height,opacity的值也不会改变,如果 if(flag)代码在for中,那么立即就会停止,如果在for外面的话,要for遍历完以后才清除interval,当然这里其实问题不大,最多会多执行几次代码,结果也不会改变.乳沟要做到代码优化的话,放在里面要更好一些.
2016-08-21
美女老师,jion是这样的jion={"att1":"itarget1","attr2":"itarget2"};您那个是对象是有区别的。
2016-08-21
这里也可以不用定义 obj.alpha=30, 其实可以在startChange()函数中写 var opacity = obj.style.opacity * 10; 这段代码, 每个div都有属于自己的opacity, 这样就没有共用同一opacity. 共用同一个opacity 就和共用同一个 timer一样的, 共用就会强着用. 就像吃饭,大家共用同一只碗, 你要,我也要用, 就只能开打了. 通过这里可以查看, 当共用同一个属性的时候,有没有什么副作用.
2016-08-21
我觉的flag = true;还是写在setInterval里面好一点,这样每次运行都检测一次,而且要写在for()循环的前面,每次进循环前先初始化为true,然后循环里有一个没完就赋值false,这样就不会执行后面的clear,如果flag=true写在for循环里面的会出现如果最后一个参数先走完,直接就true,然后clear了,不管前面两个属性有没有完。如果写在flag=true写在setInterval外面就是只初始化一次,当执行一次循环就变成flase了,就不会再变成true去clear关闭它了,只是这个最后的速度值为0了所以看不出变化,但程序却一直在执行,没有关闭
2016-08-19
在HBuilder里设置js
<script type="text/javascript">
var div=document.getElementById("div");
div.onmouseover=function(){
this.style.opacity=0.6;
}
div.onmouseleave=function(){
this.style.opacity=1;
}
</script>
<script type="text/javascript">
var div=document.getElementById("div");
div.onmouseover=function(){
this.style.opacity=0.6;
}
div.onmouseleave=function(){
this.style.opacity=1;
}
</script>
2016-08-19