Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery 2.1+更改css;忽略转换属性_Javascript_Jquery_Css_Css Transitions_Jquery 2.0 - Fatal编程技术网

Javascript 使用jQuery 2.1+更改css;忽略转换属性

Javascript 使用jQuery 2.1+更改css;忽略转换属性,javascript,jquery,css,css-transitions,jquery-2.0,Javascript,Jquery,Css,Css Transitions,Jquery 2.0,我正在从jQuery2.0.3切换到2.1.0 我注意到在v2.1.0中,直接设置css属性时忽略了css转换属性 $('someElement').css('width','100px') 在v2.0.3中,我的元素将保持它的css转换,而在v2.1.0中我将丢失它 我想知道为什么会有不同的处理方式,以及如何“打开”过渡效果 使用jQuery 2.0.3,css转换属性生效 $(函数(){ $('.myClass').css('width','100px'); }); .myClass{ 高度

我正在从jQuery2.0.3切换到2.1.0

我注意到在v2.1.0中,直接设置css属性时忽略了
css转换
属性

$('someElement').css('width','100px')

v2.0.3中,我的元素将保持它的
css
转换,而在v2.1.0中我将丢失它

我想知道为什么会有不同的处理方式,以及如何“打开”过渡效果

使用jQuery 2.0.3,css
转换
属性生效
$(函数(){
$('.myClass').css('width','100px');
});
.myClass{
高度:50px;
宽度:300px;
背景色:红色;
过渡:宽度3s;
}

在四处搜索之后,我认为这可能与在发布期间对问题所做的更改有关。根据标题

我将与进行了比较,似乎围绕
.ready()
方法和事件延迟方式进行了一些重构。更具体地说,我认为它可能与v2.1.0中的第3407-3408行有关,在该行中最初调用了
.ready()
方法(v2.0.3中没有此方法):


至于解决方法,这种转换行为在不同浏览器之间似乎是不一致的。要解决Chrome中的问题,您可以推迟代码的执行并强制重新绘制

setTimeout(函数(){
$('.myClass').css('width','100px');
}, 0);
.myClass{
高度:50px;
宽度:300px;
背景色:红色;
过渡:宽度3s;
}

使用animate()而不是css()似乎也能起作用

$('.myClass').animate({'width':'100px')
.myClass{
高度:50px;
宽度:300px;
背景色:红色;
过渡:宽度3s;
}


我看不出有什么不同!您的浏览器可能有问题。@Okierinaldi您使用的是哪种浏览器?我可以在最新版本的Chrome上复制OP的问题。奇怪的是,我正在fiddle上尝试你的代码,所有的东西都可以在Chrome或firefox上正常工作。但我不知道为什么它不适用于chrome上的这么多代码片段@choz看起来ondomready vs onload是造成差异的原因。2.1.0仅适用于有载,而2.0.3适用于有载both@EricPhillips这可能与类似,您是对的,Chrome中的
2.1.0
似乎不适用于
ondomready
,只适用于
onload
,而
2.0.3
可以同时处理这两种奇怪的行为,如果在
onclick
中应用
css
函数,比如
$('.myClass')。on('click',function(){$('.myClass')。css('width',100px');})@Eric Phillips你说得对。我四处搜索,很可能与14164号问题的回流更改有关。我更新了答案。@JoshCrozier感谢您提供了非常全面/深入的答案,非常感谢!
// Kick off the DOM ready check even if the user does not
jQuery.ready.promise();