【问题标题】:Images disappear during translate3d on Chrome for iPhone and iPad图像在 iPhone 和 iPad 版 Chrome 上的 translate3d 期间消失
【发布时间】:2013-05-04 10:25:52
【问题描述】:
我有一个为移动图片查看而创建的 Coverflow 类型的图片库。第一次迭代在这里:http://codepen.io/jasonmerino/pen/Fsloq。
我已经连接了触摸事件,iPhone 和 iPad 上的移动 Safari 似乎一切正常,但是当我在 iPhone 或 iPad 的 Chrome 上查看它时,图像在部分 CSS translate3d 移动时消失了图像到两侧。
我已将 -webkit-backface-visibility: hidden; 添加到包含滑动条的所有标记中,这并不能解决我的图像正在执行的这种消失行为。
我在这里缺少什么?任何帮助,将不胜感激。谢谢!
【问题讨论】:
标签:
iphone
css
google-chrome
css-transforms
【解决方案1】:
问题在于我删除内联 CSS translate3d 的代码片段。我的代码通过重新分配背景图像来处理删除翻译。
for (var i = 0; i < images.length; i++) {
$el.images.eq(i).css('style', 'background-image: url(' + images[i].src + ')');
}
在移动 Safari 中这很好,但在 Chrome 中,当我重新分配背景图像时,图像会重新加载,因此会消失。所以我调整了我的代码,使其更智能、更简洁,因此我只从内联样式中删除了翻译。
$el.images.css('transform', '');
事实证明,当您将空字符串作为值传递给 jQuery 中的 CSS 属性时,它们只会为您删除样式,而不是将其留在那里而是空白。有道理,但我以前从来不知道。
无论如何,这就是为我解决的问题。