我想问一下,如果我的机器获得了1000/10000的图像,并且每个图像都按顺序命名(1.jpg,2.jpg,3.jpg,4.jpg .... 10000.jpg),如何让它按照顺序显示?
我在网上看到很多问题,他们把它放在JLabel上,但很多人说它不会起作用。我甚至尝试了一些方法让它像javascript一样显示,但它不是我想要的结果。
我希望程序每次运行0.5秒,并在图像编号后显示图像。
有人可以通过这个来帮助我吗?提前谢谢
=============================================== ===================================
更新:这是我的javascript代码
<html>
<head>
</head>
<body>
<img src="images/image1.jpg" alt="rotating image" width="600" height="500" id="rotator">
<script type="text/javascript">
(function() {
var rotator = document.getElementById('rotator'); // change to match image ID
//var imageDir = 'images/'; // change to match images folder
var delayInSeconds = 1; // set number of seconds delay
// list image names
var images = ['1.jpg','2.jpg', '3.jpg', '4.jpg'];
// don't change below this line
var num = 0;
var changeImage = function() {
var len = images.length;
rotator.src = images[num++];
if (num == len) {
num = 0;
}
};
setInterval(changeImage, delayInSeconds * 50);
})();
</script>
</body>
</html>
答案 0 :(得分:0)
首先,你需要预加载图像,要做到这一点,你可以将它们添加到隐藏的div中。然后用它替换原始图像。这样的事情:
<html>
<head>
<title>ViewImage</title>
<script type="text/javascript" src="/jquery-1.4.2.min.js"></script>
<script>
var img_num = 1;
$(function(){
window.setInterval(function(){
var img = $('#hiden-img');
if(img[0].complete==true)
$('#real-image').attr('src', img.attr('src'));
img_num++;
if(img_num>10000)img_num=1;
img.attr('src', '/img/'+img_num+'.jpg');
}, 500);
});
</script>
</head>
<body>
<img id="hiden-img" style="display:none;"/>
<img id="real-image" src="/img/1.jpg"/>
</body>
</html>
试试这样。下载jquery并将其放在您的站点中,将路径“/ path / to / img”(2次)和“/ path / to / jquery”替换为您的真实路径。这应该可以解决问题。
您不需要每秒刷新页面。您无需刷新所有内容。 它可以在我的网站上运行。