我有一个奇怪的问题,我只在 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。
如果有什么办法解决这个问题?