jquery - Chrome CSS 背景图片动画问题

标签 jquery css google-chrome

这是代码 https://jsfiddle.net/pk7zetdu/6/ 的链接

$('.img_cont').addClass('rollIn');

  setTimeout(function(){
    $('.img_cont').removeClass('rollIn').addClass('rollOut');
  }, 3000);

  setTimeout(function(){
    $('#img_img').attr('src', 'http://www.hercampus.com/sites/default/files/2013/02/27/topic-1350661050.jpg');
    $('.img_co....

尝试用最新稳定的 chrome for windows 打开它。

首先,当它加载时,您可以看到幻灯片 (div) 滚入和滚出,然后图像 SRC 发生更改,div 第二次滚入新 bg(可能有一个小的 img 加载延迟)。一切顺利!

然后请按 fiddle 中的RUN键再看一遍。您现在可以看到幻灯片 (div) 滚入和滚出,而不是图像 SRC 已更改,但它与 bg 中的先前图像一起滚入并在动画完成后立即更改。

我可以向您保证这与图像加载或自行摆弄无关,因为这在我的实际元素中是个大问题。 -webkit-backface-visibility:隐藏;在 IMG 上解决了这个问题,但在更严重的例子中引入了其他问题:(。

有什么想法吗?

================更新

当我将 .rollOut 不透明度更改为非零值 ( https://jsfiddle.net/pk7zetdu/8/ ) 时,问题就消失了。貌似当img parent的opacity为0时,chrome并没有调整新的SRC,在动画中调整有问题。

最佳答案

您的第二张图片的四周都有阴影。你可以看到,如果你在选项卡中打开图像(你会看到图像从顶部和左侧有一些间隙)。 所以你的第二张图片不会加载背景中的第一张图片。它只是第二张图片周围有白色间隙。

更改图像即可解决问题。用不同的图像检查这个 fiddle 。 - https://jsfiddle.net/pk7zetdu/11/

对于3秒后第二张图还没有出来,可以把setTimeout改成setInterval

关于jquery - Chrome CSS 背景图片动画问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36404681/

相关文章:

php - 删除 PHP mysql 行时 Ajax 不工作

html - 悬停伪类不适用于 Bootstrap 导航栏 anchor 标记

excel - 如何将HAR文件导入excel

javascript - 模态窗口在 chrome 中不是模态的

php - 输入在 jQuery Mobile 中不起作用

javascript - 在 flex-box 中使用 javascript 管理图像

jquery - 响应后,我需要小屏幕的表头,但它不起作用,它重复表头。因为我已经使用for循环来打印标题

java - 当单击特定链接并使其他链接正常时,我们如何突出链接?

javascript - H1 中的随机彩色词

javascript - 不使用控件时,视频元素在 Chrome 中消失