html 元素的样式变化之后会触发js的那个函数 10
3个回答
展开全部
div的高度改变肯定是有原因的,比如下面的情况。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>测试监听div高度变化</title>
<style type='text/css'>
div {
height: 300px;
width: 300px;
border: 1px solid red;
}
</style>
</head>
<body>
<div></div>
</body>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>
<script>
$('div').resize(function(){
alert($(this).height());
});
setTimeout(function(){
$('div').height(500).resize();
}, 2000);
</script>
</html>
展开全部
给div定义一个id,在样式变化之前,获取这个id的元素样式,储存进一个数组里面。在元素样式变化后,将变化后的元素储存进另外一个数组里面,对比两者,如果不相等就执行函数。这种方式你觉得怎么样?
追问
如何知道元素变化了才是关键
追答
var demo = document.getElementById('bt1');
var arr1 = new Array();
var arr2 = new Array();
arr1.push(demo.style.width);
function changeHigh(){
demo.style.width = "150px";
arr2.splice(0,1,demo.style.width);
if(arr1[0] != arr2[0]){
change();
}
arr1.splice(0,1,demo.style.width);
}
function change(){
alert("改变了");
}
HTML:
<div id="bt1" style="width:100px;height:100px;background:green"></div>
<button onclick="changeHigh()">改变长度</button>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
onchange,另外div变化的话基本上就是一个新的页面了,你应该那输入中的内容改变了,应该触发什么事件才对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询