html文本框追加内容,html文本框

这篇博客详细介绍了如何使用JavaScript实现DOM操作,包括动态创建元素、插入元素到指定位置。同时,展示了利用JavaScript进行页面元素高度动画效果的实现,通过设置定时器平滑地改变元素的高度和透明度,从而达到过渡效果。
摘要由CSDN通过智能技术生成

window.onload = function() {

var oA = document.getElementById('box');

var oB = document.getElementById('tijiao');

var oC = document.getElementById('ul1');

oB.onclick = function() {

var oLi = document.createElement('li'); //createElement是HTML中应用W3C DOM对像模型建立子节点也就是子元素的概念!

oLi.innerHTML = oA.value;

var aLi = document.getElementsByTagName('li');

if (aLi.length > 0) {

oC.insertBefore(oLi, aLi[0]); //iE不兼容,因为找不到aLi[0],所以不知道往谁前面加

} else {

oC.appendChild(oLi);

}

//运动

var iHeight = oLi.offsetHeight - 2;

oLi.style.height = '0';

startMove(oLi, {

height: iHeight

}, function() {

startMove(oLi, {

opacity: 100

})

})

}

}

function getStyle(obj, name) {

if (obj.currentStyle) {

return obj.currentStyle[name];

} else {

return getComputedStyle(obj, false)[name];

}

}

//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) {

var cur = 0;

if (attr == 'opacity') {

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

} else {

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

}

var speed = (json[attr] - cur) / 2;

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 {

obj.style[attr] = cur + speed + 'px';

}

}

if (bStop) {

clearInterval(obj.timer);

if (fnEnd) {

fnEnd();

}

}

}, 30);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值