如何让jquery.css不生成动画,而是立即做出更改?

问题描述:

下面的所有内容均在OSX上的Chrome中进行测试。如何让jquery.css不生成动画,而是立即做出更改?

看看这个网站的主要形象,我的建筑:http://www.appsbayou.se

正如你可以看到当加载页面时,图像看起来像它的“滑”到它的正确位置。我不想要这种行为。

此页面背后的代码是从定制WordPress主题,并在这件事上我没有发言权。我唯一的工作就是“修复图像,使其不会做动画”。

在源代码中,我发现,这些线是罪魁祸首:

$(this).css("width", new_img_width); 
$(this).css("max-width", new_img_width); 

其中$(this)<img>标签。这里没有.animate()。那么为什么简单地改变宽度/最大宽度与jQuery这样做与动画,我怎样才能使这些线路瞬间呢?

+0

看起来有可能是CSS3动画 – 2014-10-29 02:30:53

+0

如果不是的JavaScript,尝试寻找在CSS的width属性的任何转换。 – 2014-10-29 02:30:53

删除

img { 
transition: width 0.5s ease-in-out 0s, 
      left 0.7s ease-in-out 0s, 
      right 0.7s ease-in-out 0s; 
} 

http://www.appsbayou.se/wp-content/themes/customizr/inc/assets/css/orange.min.css?ver=3.1.24

在第15行

+0

很好的答案,但是黑客可能会被其他东西包含的缩小的实用程序css脚本可能会有点矫枉过正。更好的办法是创建一个像'img.noanimate {transition:none; }'并将该类添加到传送带图像标签。 – par 2014-10-29 02:37:57

+0

@weblurk,他说什么^^ :) – andrew 2014-10-29 02:39:02

+0

@andrew很好的回答和评论。完美地解决了这个问题。 – Weblurk 2014-10-29 02:43:49

如果您在图像上执行“检查元素”,您会看到它包含在一组采用轮播方案的div中。有几件事你可以做。一种是编辑页面HTML并摆脱容器div。尽管在格式化方面可能会有一些不需要的副作用。

另一个选项可以是迭代起来$(this)母链,并开始选择性地从包含div删除类。例如摆脱center-slides-enabled班,看看会发生什么。在不了解旋转木马的结构的更多信息的情况下(您正在使用缩小的Javascript包装器,因此很难知道发生了什么),我无法确切地说出正确的类是如何摆脱的,但是通过一些试验, - 我认为你应该能够很快找出你需要做的事情。