2012-03-30 24 views
2

我正在做一个元素的宽度转换。 在我的jquery中添加一个类,并在css中描述转换。如果我现在用jquery查询这个元素在添加该类后的宽度,我得到这个元素的当前宽度,但这不是它的最终宽度。 如何获得最终宽度?是否有事件,转换完成或类似的东西? 我应该使用超时还是jQuery手表?如何在转换后获取元素的属性?

/亲切的问候 基督教

编辑: 更妙的是现在:JSFiddle

在第一次点击的方法宽度()返回100,改造后返回200如何在得到结果第一次点击?

+6

代码是胜过千言万语。 – 2012-03-30 12:36:36

回答

2

确保您正在转换的元素具有块的显示类型(display:block),否则无法修改元素的宽度。

HTML:

<a href="#">Bigger</a> 

的Jquery:

$('a').click(function(e){ 
    console.log($(this).width()); 
    $(this).addClass('bigger'); 
    console.log($(this).width()); 
}); 

CSS:

a { 
    width:100px; 
    background: #ccc; 
} 
.bigger { 
    width: 200px; 
} 
+0

我的问题不是,如何转换,它是如何在添加类后查询元素的某些属性(在这种情况下为宽度),当转换花费一秒左右时。在编辑中查看我的代码。谢谢 – Christian 2012-03-30 12:52:02