jquery 修改html属性,jquery更改属性 css渲染?

我通过$(".test")获取到class是test的元素集合,然后通过$(".test").each(function(index ele){ $(ele).css("height") });   获取到每一个的元素的高度,之后再获取到其中height最大的值,然后进行再次进行遍历,将这个最大的height设置给每一个元素。

代码如下:

//此内容稍后添加到自定义js中

window.onresize = function(){setAdvantageHeight();}

setAdvantageHeight();

/*设置高度   我们的优势*/

function setAdvantageHeight(){

var maxHeight = 0;

var $list = $(".advantage_content");

//clear

$list.each(function(index,ele){

$(ele).attr("style","");

$(ele)[0].offsetwidth;

});

setTimeout(function(){

//getMaxHeight

$list.each(function(index,ele){

var height = parseInt($(ele).css("height").split("p")[0]);

maxHeight = maxHeight>height ? maxHeight:height;

});

//setHeight

$list.each(function(index,ele){

$(ele).css("height",maxHeight);

});

},0);

}

如果我不使用 setTimeout阻断一下,当我重复进行刷新的时候就会出现获取大的height值不正确,并没有加上其中css设置的padding。

我用的是chrome

我在书上看的说的是js调整元素的css属性之后,浏览器会重新渲染网页,那么当我第一次将元素的style设置为""的时候,网页会在我每次设置一个元素之后都重新渲染一遍网页,这样的话我获取到的height就不会有问题,可是为什么还是出了问题?

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值