教你js对象删除某个元素 js获取类名的3种方法( 九 )


// 将e转化为相对定位的元素,使之左右震动// 第一个参数可以是元素对象也可以是元素的id// 第二个参数是回调函数,将以e为参数,将在动画结束时调用// 第三个参数指定e震动的距离,默认是5px// 第四个参数指定震动多久,默认是500msfunction shake(e, oncomplete, distance, time){if(typeof e === "string") e = document.getElementById(e);if(!time) time = 500;if(!distance) distance = 5;var originalStyle = e.style.cssText;// 保存e的原始stylee.style.position = "relative";// 使e相对定位var start = (new Date()).getTime();// 动画的开始时间animate();// 开始动画// 函数检检查消耗的时间,并更新e的位置// 如果动画完成,它将e还原为原始状态// 否则,它更新e的位置,安排它自身重新运行function animate(){var now = (new Date()).getTime();// 得到当前时间var elapsed = now - start;// 从开始以来消耗了多长时间var fraction = elapsed / time; // 是总时间的几分之几if(fraction < 1){// 如果动画未完成// 作为动画完成比例的函数,计算e的位置// 使用正弦函数将完成比例乘以4pi,所以它来回往复两次var x = distance * Math.sin(fraction * 4 * Math.PI);e.style.left = x + "px";// 在25ms后或在总时间的最后尝试再次运行函数// 目的是为了产生每秒40帧的动画setTimeout(animate, Math.min(25, time - elapsed));}else{e.style.cssText = originalStyle;// 恢复原始样式if(oncomplete)// 调用回调函数oncomplete(e);}}}// 应用var mydiv = document.getElementById("mydiv");shake(mydiv,function(e){console.log(e.style)},5,500);// 以毫秒级的时间将e从完全不透明谈出到完全透明// 在调用函数时假设e是完全不透明// oncomplete是一个可选的函数,以e为参数,它将在动画结束时调用// 如果不指定time,默认为500msfunction fadeOut(e, oncomplete, time){if(typeof e === "string") e = document.getElementById(e);if(!time) time = 500;// 使用Math.sqrt作为一个简单的缓动函数来创建动画// 非线性,由快到慢var ease = Math.sqrt;var start = (new Date()).getTime();// 动画的开始时间animate();// 开始动画function animate(){var elapsed = (new Date()).getTime() - start; // 消耗时间var fraction = elapsed / time;// 总时间的几分之几if(fraction < 1){// 如果动画未完成var opacity = 1 - ease(fraction); // 计算元素的不透明度e.style.opacity = String(opacity);// 设计不透明度setTimeout(animate, Math.min(25, time - elapsed));}else{e.style.opacity = "0";// 完全透明if(oncomplete)oncomplete(e);}}}fadeOut(mydiv,null,500);


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: