国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript簡易動畫類(div漸變)

2019-11-21 00:22:55
字體:
來源:轉載
供稿:網(wǎng)友
程序源碼
復制代碼 代碼如下:

function Animate(el, prop, opts) {
this.el = el;
this.prop = prop;
this.from = opts.from;
this.to = opts.to;
this.time = opts.time;
this.callback = opts.callback;
this.animDiff = this.to - this.from;
}

Animate.prototype._setStyle = function(val) {
switch(this.prop) {
case 'opacity':
this.el.style[this.prop] = val;
this.el.style.filter = 'alpha(opacity=' + val * 100 + ')';
break;
default:
this.el.style[this.prop] = val + 'px';
break;
}
}

Animate.prototype._animate = function() {
var that = this;
this.now = new Date();
this.diff = this.now - this.startTime;

if (this.diff > this.time) {
this._setStyle(this.to);

if (this.callback) {
this.callback.call(this);
}
clearInterval(this.timer);
return;
}

this.percentage = (Math.floor((this.diff / this.time) * 100) / 100);
this.val = (this.animDiff * this.percentage) + this.from;
this._setStyle(this.val);
}

Animate.prototype.start = function() {
var that = this;
this.startTime = new Date();
clearInterval(this.timer);
this.timer = setInterval(function() {
that._animate.call(that);
}, 4);
}

Animate.canTransition = function() {
var el = document.createElement('foo');
el.style.cssText = '-webkit-transition: all .5s linear;';
return !!el.style.webkitTransitionProperty;
}();

使用方法
復制代碼 代碼如下:

// 透明度漸變
function changeOpacity() {
// 透明度漸變 從1 - 0 漸變時間1000ms
var fx = 'opacity', from = 1, to = 0, time = 1000;
// 漸變完畢執(zhí)行的回調函數(shù)
var callback = function() {
from = 0; to = 1;
new Animate(demo, fx, { from: from, to: to, time: time, callback: resetButton}).start();
}
// 實例化漸變函數(shù)
new Animate(demo, fx, {
from: from,
to: to,
time: time,
callback: callback
}).start();
}

演示代碼:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 施秉县| 杭州市| 临海市| 琼结县| 兴义市| 道孚县| 延津县| 遂川县| 沁阳市| 隆德县| 修文县| 太白县| 泊头市| 安义县| 柳林县| 河间市| 册亨县| 璧山县| 大理市| 东光县| 武威市| 太仆寺旗| 平罗县| 阳原县| 梓潼县| 宁强县| 郸城县| 辽源市| 天全县| 洪洞县| 同仁县| 余江县| 普格县| 锦屏县| 临西县| 安阳市| 渭源县| 汉川市| 繁昌县| 东海县| 元朗区|