【问题标题】:jQuery Carousel Page Shifting in IE and Microsoft EdgeIE 和 Microsoft Edge 中的 jQuery 轮播页面切换
【发布时间】:2018-08-03 01:56:07
【问题描述】:

我有一个利用 jQuery Carousel 幻灯片功能的网页。当加载新的问题幻灯片时,页面会移动(左右)几秒钟,然后稳定下来。所有内容都是动态生成的。我在 IE 11 和最新版本的 Microsoft Edge 上看到了这一点。在 Chrome 和 Firefox 上它是如此轻微。我已经将高度和宽度设置为 100% 并调整溢出。但是问题仍然存在。

这是我网站的模拟版本的链接,因为视觉效果将有助于最好地传达我所看到的问题 - https://pub.s7.exacttarget.com/c1i011a1jlr。此问题出现在幻灯片 2 和 3 上。

谢谢,

艾莉森

【问题讨论】:

  • 您应该将相关代码添加到您的问题中,或者使用轮播的基础知识设置一个小提琴/codepen,这会有所帮助。

标签: jquery css twitter-bootstrap-3 bootstrap-carousel


【解决方案1】:
$('#PGECarousel').on('slide.bs.carousel', function(e) {
  if (e.from < 2) {
    $('.carousel-item').addClass('noAnim');
  }
}).on('slid.bs.carousel', function(e) {
  $('.carousel-item').removeClass('noAnim');
}) 

很可能会解决您的问题。你在 CSS 中也需要这个:

.carousel-item.noAnim {
  transition-duration: 0s;
}

另一方面,我也会将这些添加到您的样式中:

h2:focus {
  border: none;
  padding: 0;
}
.slide-container {
  min-height: 383px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.carousel-item {
   transition-timing-function: cubic-bezier(.5,0,.2,1);
}
@media (max-width: 767px) {
  .slide-container {
      min-height: 0;
  }
}

坦率地说,你不应该使用 Bootstrap 轮播。任何流行的产品都需要更少的东西并提供更多的东西(Slick、Flexslider、Owl)。

至于额外的 CSS,我想说 h2:focus 上的 padding:0 是必须的,其余的或多或少是细节。


注意:我还没有在 IE 或 Edge 上测试过(我在这个系统上没有),但是上面禁用了导致颤抖的幻灯片的 CSS 过渡。

【讨论】:

  • 安德烈-谢谢!!!这成功了!我不是 Bootstrap 的粉丝,不幸的是继承了这一点。感谢您为轮播提供更好的选择建议。
  • 如果成功了,请考虑将其标记为已接受的答案,以便新用户在打开页面时看到它可以正常工作,而无需阅读、测试或阅读其 cmets。
猜你喜欢
  • 1970-01-01
  • 2018-03-11
  • 1970-01-01
  • 2017-08-21
  • 2018-06-22
  • 2015-10-25
  • 2018-06-08
  • 1970-01-01
  • 2021-06-14
相关资源
最近更新 更多