0

私のマシンが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>
4

1 に答える 1

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」を実際のパスに置き換えます。これでうまくいくはずです。

ページを毎秒更新する必要はありません。すべてを更新する必要はありません。それは私のサイトで動作します。

于 2012-05-14T07:52:59.900 に答える