ios 9 mobile safari有一个闪烁的错误,变换scale3d和translate3d

时间:2015-09-17 20:43:44

标签: javascript ios mobile-safari ios9 swiper

我开发了移动网站的菜单:http://famosos.globo.com/(点击页面底部的汉堡图标)

它是使用swiper 3.0.8的品牌旋转木马,当您在ios 9 safari上向任何方向滑动时,品牌会一直闪烁。

我发现它是因为我使用了transform:scale3d(也发生在正常变换:scale),而swiper的translate3d发生了。

我尝试过使用保存-3d和背面可视性技巧,但是当你滑动时它仍然会闪烁。

我已尝试在此代码集上隔离swiper和scale代码:http://codepen.io/guilhermebruzzi/pen/BoKovN但由于某种原因,这不会在ios上打开。

代码的相关部分:

//css
.swiper-slide-active .menu-carousel-link{
    transform: scale3d(1, 1, 1);
}

//html
<div id="carousel" class="swiper-container swiper-container-horizontal">
    <ul class="swiper-wrapper">
      <li class="swiper-slide globocom-slide">
        <a href="http://globo.com/" class="menu-carousel-link">Globo.com</a>
      </li>
      <li class="swiper-slide g1-slide">
        <a href="http://g1.globo.com/" class="menu-carousel-link">G1</a>
      </li>
      <li class="swiper-slide globoesporte-slide">
        <a href="http://globoesporte.globo.com/" class="menu-carousel-link">Globoesporte</a>
      </li>
      <li class="swiper-slide famosos-slide">
        <a href="http://famosos.globo.com/" class="menu-carousel-link">Famosos</a>
      </li>
      <li class="swiper-slide techtudo-slide">
        <a href="http://techtudo.com.br/" class="menu-carousel-link">Techtudo</a>
      </li>
      <li class="swiper-slide gshow-slide">
        <a href="http://gshow.globo.com/" class="menu-carousel-link">Gshow</a>
      </li>
    </ul>
  </div>

// coffeescript
class MenuWebCarousel
  constructor: ->
    @swiperContainer = $("#carousel")
    @swiperOptions = 
      resistanceRatio: 0
      spaceBetween: 10
      centeredSlides: true
      slidesPerView: 'auto'
  initSwiper: ->
    @swiperInstance = new Swiper(@swiperContainer[0], @swiperOptions)

在这个新版本的ios上继续使用scale和swiper的任何解决方法?有人有类似的问题吗?

谢谢! :)

2 个答案:

答案 0 :(得分:2)

这似乎是嵌套图层组合和视口大小的错误。 在父层中添加overflow: hidden似乎可以解决问题。从性能的角度来看,一切似乎都表现相同(相同的布局,颜料,合成层)

答案 1 :(得分:2)

我使用position修复了问题:修复了父级。

眨眼的小虫消失了。

移动网站:http://famosos.globo.com/(点击页面底部的汉堡图标)