在iPhone和iPad Chrome上的translate3d图像消失



我有一个coverflow类型的图片库,我已经创建了移动图片查看。第一个迭代位于这里:http://codepen.io/jasonmerino/pen/Fsloq.

我已经连接了触摸事件,似乎在iPhone和iPad上的移动Safari上运行良好,但是当我在iPhone或iPad上的Chrome上查看它时,图像在CSS translate3d的一部分中消失了,该部分将图像移动到两侧。

我已经将-webkit-backface-visibility: hidden;添加到包含滑动器的所有标记中,这并不能修复我的图像正在做的这种消失行为。

我在这里错过了什么?任何帮助都会很感激。谢谢!

问题是我正在删除内联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', '');

原来,当你传递一个空字符串作为值的CSS属性在jQuery中,他们只是删除你的风格,而不是留下它,但空白。有道理,但我以前从来不知道。

最新更新