背景
我用asp.net (C#)和html5 5/css3 3/javascript (w/ bit of jQuery)创建了一个幻灯片应用程序。我试图在组件中运行Windows 10 ( WebView版本)的Raspberry 2设备上显示这一点。
我有幻灯片滞后的问题。我的幻灯片是基于一个div和三个背景图像:
background-size: contain显示。问题
我用一行代码切换背景图像:
slide.style.backgroundImage = "url(" + slides[slideIndex % slides.length] + "), " +
"url(../images/egg-shell.png), " +
"url(" + blurred[slideIndex % blurred.length] + ")";在我的浏览器中工作很好,然而,在Raspberry上,底部图像与中间图像重叠显示的方式在顶级图像之前。
异常
为了使用Raspberry Pi和Webview组件,我不得不做一些事情,我只列出了这些,因为它们可能导致了我的问题:
Image对象,然后等待每个图像完成报告.onload以启动幻灯片显示。整个应用程序非常轻量级。如果需要,我可以提供它,但肯定有一些简单的东西,我错过了。如果我将每个映像加载到一个单独的<img>元素中,然后设置z-索引,我就不知道效率了。我也不知道通过将图像加载到当前幻灯片后面的不同幻灯片中,效率是否会提高。这就是为什么问题是关于DOM操作和Javascript的。无论如何,谢谢你阅读了这篇长篇解释,希望你能帮上忙!
发布于 2015-10-28 19:22:59
就像这样:http://jsfiddle.net/utwqsb45/或者你喜欢的话
$(function($){
var $slides = $('.slide');
function transition(){
var $current = $('.slide.showing'),
$next = $('.slide[data-number="' + parseInt($current.data('number') + 1) + '"]');
if (!$next.length) {
$next = $('.slide[data-number="1"]');
}
requestAnimationFrame(function(){
$current.removeClass('showing');
$next.addClass('showing');
});
}
setInterval(transition, 1000);
})($);.slide {
width: 99%;
height: 99%;
position: absolute;
top: 0;
right: 0;
left: 0;
bottom: 0;
display: none;
margin: 0 auto;
}
.slide.showing {
display: block;
}<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="slide showing" data-number="1">one</div>
<div class="slide" data-number="2">two</div>
<div class="slide" data-number="3">three</div>
https://stackoverflow.com/questions/33398399
复制相似问题