jquery不透明度跨浏览器?
Posted
技术标签:
【中文标题】jquery不透明度跨浏览器?【英文标题】:jquery opacity cross browser? 【发布时间】:2011-06-07 06:18:21 【问题描述】:jQuery('#selector').css('opacity':50);
是跨浏览器吗?
我问的唯一原因是因为下面我们通常在 css 上使用的行
-moz-opacity:.50; filter:alpha(opacity=50); opacity:.50;
【问题讨论】:
【参考方案1】:这可能更好:
$(element).fadeTo(0, 0.5);
【讨论】:
css(opacity:50)
并不总是有效,在 chrome 上它不会,但与 fadeTo
一起使用很好 :)
这几乎不一样,因为这不仅以跨浏览器的方式设置不透明度,而且还设置了动画。在 CSS3 时代,由于 CSS 过渡,这可能不是我们所希望的。
@RobertKoritnik,在提出此类声明之前检查 API;这里的第一个参数意味着有 no 动画。另外,我不确定与转换有什么联系。没有人要求。此外,这显然是一年多前发布的,即便如此,考虑到某些市场不支持 CSS3,我不确定 CSS3 的时代。
第一个参数是 0 是的,但是在声称这意味着没有动画之前,你应该检查 jQuery 代码,看看如果 speed
参数设置为 0 会执行多少代码。但你是对的这个问题的年龄和不相关的 CSS3 转换。我收回了。
@RobertKoritnik,你是对的,有开销,但这并不意味着有动画;它们是两个不同的东西。无论如何,就 CPU 时间而言,该代码量可以忽略不计。【参考方案2】:
是的,它设置 css 不透明度或 IE 的不透明度过滤器。
【讨论】:
【参考方案3】:因为 jQuery 在设计时考虑了跨浏览器兼容性,只要浏览器支持 CSS opacity 标签,那么,是的,您的 jQuery 代码是跨浏览器的。 (你试过了吗?你可以去jsfiddle.net看看有没有。)
如需更多信息,请联系W3Schools page on opacity。使用各种浏览器前往那里,看看它是否有效。 (看起来它适用于所有三种主要浏览器。)
【讨论】:
嗨,我知道这是一篇旧帖子,但我想补充一下,请不要信任或引用 W3Schools。见:w3fools.com 100% 正确,@daiscog。我年轻而愚蠢。 (我现在屏蔽了 W3School 的结果。)事实上,正是这样纠正了我的错误方式。我现在更聪明了。 ;)以上是关于jquery不透明度跨浏览器?的主要内容,如果未能解决你的问题,请参考以下文章