我用asp.net(C#)和html5 / css3 / javascript(带有点jQuery)创建了一个幻灯片应用程序。我试图在Windows Universal WebView组件中运行Windows 10(IoT版本)的Raspberry Pi 2设备上显示它。
我遇到幻灯片滞后的问题。我的幻灯片演示基于一个带有3个背景图像的div:
background-size: contain
。我用一行代码切换背景图片:
slide.style.backgroundImage = "url(" + slides[slideIndex % slides.length] + "), " +
"url(../images/egg-shell.png), " +
"url(" + blurred[slideIndex % blurred.length] + ")";
在我的浏览器中效果很好,但是,在Raspberry Pi上底部图像,中间图像在顶部图像之前显示的方式重叠显示。
我必须做一些事情来使用Raspberry Pi和Webview组件,我只列出这些因为可能导致我的问题:
Image
对象来预加载图像,这些对象具有webservice指定的路径,然后等待每个图像完成报告.onload
以开始幻灯片放映。 整个应用程序非常轻量级。如果需要我可以提供它,但必须有一些简单的我缺少。如果我要在单独的<img>
元素中加载每个图像然后设置z-indexs,我不知道效率。我也不知道是否通过让图像加载到当前幻灯片后面的单独幻灯片来提高效率。这就是为什么问题是询问DOM操作和Javascript。无论如何,感谢您阅读这篇长篇解释,希望您能提供帮助!
答案 0 :(得分:0)
像这样:http://jsfiddle.net/utwqsb45/或者如果你喜欢
#example-wrapper
&#13;
$(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);
})($);
&#13;
.slide {
width: 99%;
height: 99%;
position: absolute;
top: 0;
right: 0;
left: 0;
bottom: 0;
display: none;
margin: 0 auto;
}
.slide.showing {
display: block;
}
&#13;