$('#carat_weight_right li').css('left', function(index, value) {
if (value === '100%') {
$(this).children('span').css({'margin-left': '-58px', 'text-align': 'right'});
alert('hello');
}
});
似乎在chrome中工作但不是firefox任何人都有线索????
感谢
答案 0 :(得分:4)
这是一个跨浏览器实现差异的有趣案例。
Firefox正在返回元素used value
的{{1}}。这最终是用于在浏览器中呈现元素的像素的实际值:Firefox看到100%,在您的布局中确定真正等同于326像素,并返回326像素。 Mozilla talks about their implementation here.
Chrome会为computed style
返回specified value
(“100%”)。
W3C表示两者都有效:returning the specified value is fine如果可以在不需要布置文档的情况下完成; returning the used value is OK如果该值只能在布局完成后确定。
那你该怎么办?找到一种不同的制作方法。 :-)也许检查一下你的元素的computed style
是否大于或等于其偏移的父级position().left
?