javascript - 奇怪的 ParseFloat 问题 Javascript

标签 javascript jquery ipad parsefloat

我遇到了一个仅在 iPad 上遇到的奇怪问题。似乎所有其他浏览器都可以很好地处理这个问题,但我有一个与此类似的情况:

if( parseFloat( $('#element1').css('opacity'),10).toFixed(2)!=userSetting1 ||
    parseFloat( $('#element2').css('opacity'),10).toFixed(2)!=userSetting2
  ){ return; };

... rest of function

所以,基本上我有几个根据用户操作生成动画的元素。为了防止用户连续触发函数的其余部分,我正在测试该元素是否已完成其不透明度的动画处理。 usersetting1 和 2 是用户分别设置 element1 和 2 动画的不透明度。

所以,基本上,如果不透明度没有达到用户设置的不透明度,它就会退出该功能。除了 iPad 之外,在任何地方都可以正常工作,而且它是基于 parseFloat 的问题。

如果用户将不透明度设置为 0.15、0.25 等,则 parseFloat(,10).toFixed(2) 将起作用并允许正确测试条件。

但是,如果用户将不透明度设置为 1 或 0,则会把一切搞砸。显然 iPad 并不认为 1.0 = 1。

有什么办法可以解决这个问题吗?

最佳答案

好的,刚刚想通了。 iPad 似乎正在将我的元素(假设 userSetting1 为 0.15)动画化为 0.1503850384038439248。因此,我必须在用户设置和 .css 拉取上运行 .toFixed(2)。

关于javascript - 奇怪的 ParseFloat 问题 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16552685/

相关文章:

asp.net IFrame 滚动条推到顶部。 .

jquery - 非常基本的 Jquery - 为什么这个带有变量的 if/else 不起作用?

iphone - 用手势画线

iphone - 如何在 Xcode 中一次在多个目的地上 'Build & Run'?

iphone - 使 UICollectionView 中的 insertItemsAtIndexPath 不设置动画

javascript - 元素的属性nodeName自动变为小写

javascript - 通过多个文件更新同一变量

javascript - 当表获取新行时,jQuery .change 不会触发?

javascript - Offset().top 在页面加载时不返回值

javascript - AngularJS 或 JQuery 解析错误格式 JSON (http get)