欢迎来到Introzo百科
Introzo百科
JavaScript学习笔记2--DOM、运动
1、DOM
创建跟插入示例:
oUl.appendChild(oLi)是先将oLi从原来的父级删除,然后再插入oUl.
无标题文档
删除示例:
无标题文档
2、获取table表格内容
oTable.tBodies[0].rows[0].cells[0].innerHTML
3、运动
3.1匀速运动
无标题文档
3.2分享侧边栏
无标题文档
分享到
3.3淡入淡出
无标题文档
3.4缓冲运动
无标题文档
3.5右下角悬浮框
无标题文档
3.6对联悬浮框
无标题文档
3.7匀速运动停止
如果速度无法被运动距离整除,则无法精确运动到目标,下面是解决方法:
无标题文档
3.8多个物体同时运动(例子:div变宽)
为每个div设定一个定时器
无标题文档
3.9多物体淡入淡出
定时器作为物体的属性,所有东西不能公用。
无标题文档
3.10变宽和变高
无标题文档
变高
变宽
3.11运动框架及使用实例
单一运动框架:只能一个运动结束后才能进行下一个运动
// JavaScript Document
function getStyle(obj, name)
{if(obj.currentStyle){return obj.currentStyle[name]; } else{return getComputedStyle(obj, false)[name]; }
}//参数分别是:操作对象,参数,参数值,操作结束后执行函数
function startMove(obj, attr, iTarget, fnEnd)
{clearInterval(obj.timer);obj.timer=setInterval(function(){//代替offset,采用offset的时候,加上边框会出现bugvar cur=0;if(attr=='opacity'){//Math.round();四舍五入cur=Math.round(parseFloat(getStyle(obj, attr))*100);}else{cur=parseInt(getStyle(obj, attr));}var speed=(iTarget-cur)/6;speed=speed>0?Math.ceil(speed):Math.floor(speed);if(cur==iTarget){clearInterval(obj.timer); if(fnEnd())fnEnd();}else{if(attr=='opacity'){obj.style.filter='alpha(opacity:'+cur+speed+')';obj.style.opacity=(cur+speed)/100;}else{www.introzo.com[attr]=cur+speed+'px';}}},30);
}
使用实例
无标题文档
完美运动框架:可以同时进行多个运动,也可以分步骤进行运动
// JavaScript Document
function getStyle(obj, name)
{if(obj.currentStyle){return obj.currentStyle[name]; } else{return getComputedStyle(obj, false)[name]; }
}//参数分别是:操作对象,json参数和参数值,操作结束后执行函数
//startMove(oDiv, {width:400, height:400});
function startMove(obj, json, fnEnd)
{clearInterval(obj.timer);obj.timer=setInterval(function(){var bStop=true; //假设所有值已经到了目标值for(var attr in json){//代替offset,采用offset的时候,加上边框会出现bugvar cur=0;if(attr=='opacity'){//Math.round();四舍五入cur=Math.round(parseFloat(getStyle(obj, attr))*100);}else{cur=parseInt(getStyle(obj, attr));}var speed=(json[attr]-cur)/6;speed=speed>0?Math.ceil(speed):Math.floor(speed);//如果当前属性值还没到目标值,则表示还有属性值需要进行运动if(cur!=json[attr])bStop=false;if(attr=='opacity'){obj.style.filter='alpha(opacity:'+cur+speed+')';obj.style.opacity=(cur+speed)/100;}else{www.introzo.com[attr]=cur+speed+'px';}}if(bStop){clearInterval(obj.timer); if(fnEnd)fnEnd();}},30);
}
使用实例
无标题文档
相关文章
- 10-05 抖音花花的贝贝是什么?花花的贝贝是什么?
- 10-05 湖南教育云eeid激活教程 湘教育云激活登录页面
- 10-05 iOS 11.2.1正式版更新后耗电吗 iOS 1
- 10-05 8月朋友圈十大谣言出炉:超93人微信群因涉黄被直接
- 10-05 霸气十足!阿姨乘坐高铁,拒绝接受安检,我飞进来:网
- 10-05 租房子一天15元,男生拒绝网友捐款,这就是我的正常
- 10-05 董宇辉称从未想过取代俞敏洪:生活质量太差
- 10-05 天气炎热,亚洲象进入“避暑模式”!网友:好羡慕
- 10-05 真正的“路障”,市民开车遇见东北虎一家人散步时被“
- 10-05 abd串口工具使用教程_多合一电脑维修工具下载及使
- 10-05 Android Watch ADB 实用工具箱
- 10-05 linux adb工具终极总结
- 10-05 Visualstudio2005无法生成dll_如
- 10-05 stm32决定io口级别(stm32决定io口级别
- 10-05 指定dac0832的端口地址,编写三角波信号输出控
- 10-05 c++内存_c++内存泄漏的原因及解决方案
- 10-05 vs2008查看dll_vs中的函数调用dll库函
- 10-05 vs2019mfc对话框访问违规_vs2019mf
- 10-05 如何用vscode运行c语言_如何用vscode运
- 10-05 51单片机控制电机正反转_51单片机控制电机正反转
- 最近发表