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

首頁 > 語言 > JavaScript > 正文

javascript實現網頁中涉及的簡易運動(改變寬高、透明度、位置)

2024-05-06 16:25:26
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了javascript實現網頁中涉及的簡易運動,比如改變寬高、透明度、位置等,感興趣的小伙伴們可以參考一下
 

平時工作中寫網頁涉及的運動往往都非常簡單,比如改變寬高,透明度,位置,是最常用的幾種形式,為了省事,整合了下,于是就有了下面這個東東:

兼容:IE系列、chrome、firefox、opera、Safari、360

/* javascript簡易運動  Move.action(dom對象,json格式屬性值對,緩動參考值,回調方法) 示例: var box = document.getElementById('Ele'); Move.action(box,{width:500,height:200,left:200,top:100,marginLeft:10,opacity:.5},5,function(){  console.log('end'); });*/var Move = { version: '1.5', //判斷是否空對象 isEmptyObject: function(obj) { for (var attr in obj) { return false; } return true; }, //取CSS樣式值 getStyle: function(obj, attr) { if (obj.currentStyle) { //IE return obj.currentStyle[attr]; } else { return getComputedStyle(obj, null)[attr]; } }, //運動 action: function(obj, json, sv, callback) { _this = this; //obj是否為空 if (_this.isEmptyObject(obj)) { return false; } //運動開始  clearInterval(obj.timer); obj.timer = setInterval(function() { var isAllCompleted = true, //假設全部運動都完成了 speed, //速度 attrValue, //當前值 targetV; //目標值 for (attr in json) { attrValue = _this.getStyle(obj, attr); switch (attr) {  case 'opacity':  attrValue = Math.round((isNaN(parseFloat(attrValue)) ? 1 : parseFloat(attrValue)) * 100);  speed = (json[attr] * 100 - attrValue) / (sv || 4);  targetV = json[attr] * 100;  break;  default:  attrValue = isNaN(parseInt(attrValue)) ? 0 : parseInt(attrValue);  speed = (json[attr] - attrValue) / (sv || 4);  targetV = json[attr]; } speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed); //如果循環過程中存在尚未結束的運動,isAllCompleted為假 if (attrValue != targetV) {  isAllCompleted = false; } switch (attr) {  case 'opacity':  {  obj.style.filter = "alpha(opacity=" + (attrValue + speed) + ")";  obj.style.opacity = (attrValue + speed) / 100;  };  break;  default:  obj.style[attr] = attrValue + speed + 'px'; } } //所有循環結束后,只有當全部運動結束后(isAllCompleted=true)時才關閉定時器 if (isAllCompleted) { clearInterval(obj.timer); if (typeof callback === 'function') {  callback(); } } }, 30); }};

以上就是描述了javascript實現網頁中涉及的簡易運動的方法,希望對大家實現javascript簡易運動有所啟發。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 三门峡市| 游戏| 留坝县| 方正县| 安图县| 西安市| 泾源县| 织金县| 芷江| 逊克县| 永新县| 延津县| 安宁市| 青河县| 松潘县| 安陆市| 涿鹿县| 平昌县| 扶沟县| 新宾| 西畴县| 岱山县| 斗六市| 罗山县| 青龙| 定结县| 新巴尔虎左旗| 永泰县| 赤水市| 县级市| 阿鲁科尔沁旗| 习水县| 鹿邑县| 友谊县| 霍州市| 体育| 屯留县| 梁山县| 合水县| 兖州市| 达州市|