chrome / jquery post + div 刷新时背景图像闪烁
Background image flickering on chrome / jquery post + div refresh
当我将一些数据刷新到包含背景图像的 div 时出现问题。 chrome.
背景图片闪烁
请自行查看 Chrome:
编辑:检查下方,等待 10 秒,前 2 张图片将开始闪烁。我将它们托管在我用于我的网站的类似服务器上(这是我制作的朋友的 wordpress)。终于找到问题的感觉真好!
var list1 = window.setInterval('refresh()', 1000);
function refresh() {
data = '<div class="pics" style="background-image:url(http://www.planetgame25.fr/TEST/cow.jpg)"></div>';
data += '<div class="pics" style="background-image:url(http://www.planetgame25.fr/TEST/peppers.jpg)"></div>';
data += '<div class="pics" style="background-image:url(https://www.processing.org/tutorials/pixels/imgs/tint1.jpg)"></div>';
data += '<div class="pics" style="background-image:url(http://science.nasa.gov/media/medialibrary/2011/08/02/the-helix-nebula_.jpg/image_mini)"></div>';
$('#refresh').html(data);
}
.pics {
width: 100px;
height: 100px;
display: block;
background-position:center center;
margin:5px 5px 5px 0;
float:left;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="refresh">
</div>
如何解决这个问题?
我无法重现您的问题,但 CSS 一点技巧通常会有所帮助:
尝试将此添加到您的背景元素中:
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
或者,如果这不是解决方案,您还可以通过将此添加到您的背景元素来 "force" 硬件加速:
-webkit-transform: translate3d(0, 0, 0);
好的,无论如何,当我在我的 htaccess 中切换到生产环境时,Chrome 上的问题就会消失。就是这样!
当我将一些数据刷新到包含背景图像的 div 时出现问题。 chrome.
背景图片闪烁请自行查看 Chrome:
编辑:检查下方,等待 10 秒,前 2 张图片将开始闪烁。我将它们托管在我用于我的网站的类似服务器上(这是我制作的朋友的 wordpress)。终于找到问题的感觉真好!
var list1 = window.setInterval('refresh()', 1000);
function refresh() {
data = '<div class="pics" style="background-image:url(http://www.planetgame25.fr/TEST/cow.jpg)"></div>';
data += '<div class="pics" style="background-image:url(http://www.planetgame25.fr/TEST/peppers.jpg)"></div>';
data += '<div class="pics" style="background-image:url(https://www.processing.org/tutorials/pixels/imgs/tint1.jpg)"></div>';
data += '<div class="pics" style="background-image:url(http://science.nasa.gov/media/medialibrary/2011/08/02/the-helix-nebula_.jpg/image_mini)"></div>';
$('#refresh').html(data);
}
.pics {
width: 100px;
height: 100px;
display: block;
background-position:center center;
margin:5px 5px 5px 0;
float:left;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="refresh">
</div>
如何解决这个问题?
我无法重现您的问题,但 CSS 一点技巧通常会有所帮助:
尝试将此添加到您的背景元素中:
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
或者,如果这不是解决方案,您还可以通过将此添加到您的背景元素来 "force" 硬件加速:
-webkit-transform: translate3d(0, 0, 0);
好的,无论如何,当我在我的 htaccess 中切换到生产环境时,Chrome 上的问题就会消失。就是这样!