2017-11-01

今天跟着Blue大神的视频学习时,把昨天写的任意值运动框架拿来用,发现添加的第四个函数参数一直不响应,大半天才发现昨天写的有错误,虽然看起来效果一样,但是在关闭定时器后面添加alert语句没反应。看了半天,才发现关闭定时器的判断条件写错了,obj.style[pro]得到的并不全是数字,还有px,要parseInt后再比较。前面页面没问题其实只是speed变为0,程序一直在运行,在叠加程序后加上alert语句,果然目标值达到后还是一直出来弹窗。

function getStyle(obj, name) {

if (obj.currentStyle) {

return obj.currentStyle[name];

} else {

return getComputedStyle(obj, false)[name];

}

}

var timer = null;

function move(obj, pro, iTarget,fnEnd) {

clearInterval(obj.timer);

obj.timer = setInterval(function() {

var cur = 0;

if (pro == "opacity") {

cur = Math.round(parseFloat(getStyle(obj, pro)) * 100);

}

else {

cur = parseInt(getStyle(obj, pro));

}

var speed = (iTarget - cur) / 6;

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

//错误if (obj.style[pro]== iTarget)

if (parseInt(obj.style[pro])== iTarget)

//或者if(cur==iTarget)

{

clearInterval(obj.timer);

if (fnEnd) {

fnEnd();

}

}

else {

if (pro == "opacity") {

obj.style.filter = "alpha(opacity:" + (cur + speed) + ")";

obj.style.opacity = (cur + speed) / 100;

} else {

obj.style[pro] = cur + speed + "px";

// alert("a");

}

}

}, 30);

}


javascript命名前缀规范



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • The Audience and Words I.The Audience Who am I writing fo...
    谷音sp阅读 2,701评论 0 0
  • 1.兴趣是学习一门语言的关键。 Interest is the key to learning a languag...
    张慧芳应数2班阅读 1,085评论 3 1
  • 1.大学中需要计划自己的时间。合理安排时间。让大学生活变得充实。 2.reference 3. But a lar...
    侯淑洁阅读 1,586评论 1 0
  • 【1】英语很简单,但是去听,去说就不那么简单了 【2】let alone更不用说 ,vice versa反过来 【...
    李逐峰应数2班阅读 2,939评论 1 0
  • 今天去理发,结果占了个大便宜,老板说我花了普通的价钱,享受的是首席的待遇。首席就是传说中的托尼,不过他确实厉害,盯...
    色妖妖阅读 2,880评论 0 2