2016-04-07 1 views
0

ランダムな画像をランダムに表示する2つの画像 'スライドショー'が付いています。 これまでのところ動作しますが、画像を表示したり非表示にするときにトランジションを追加したいと考えています。私は、1つの画像だけをランダムに表示することが可能かどうか疑問に思っています。それがオンラインになっている。ここトランジション付きの2つの画像を含むランダムスライドショー

var j; 
var rand = 700; 
function randomize() { 
    loadRandom(); 
    rand = Math.round(Math.random()*(5000-700+1))+700; 
    clearInterval(j); 
    j = setInterval('randomize();', rand); 
} 
j = setInterval('randomize();', rand); 



function loadRandom(){ 
    var ranNums=[]; 
    while(ranNums.length<7){ 
     var t=Math.floor((Math.random()*7)+1); 
     if(ranNums.indexOf(t)==-1) 
      ranNums.push(t); 
    } 
    var i=0; 
    $('#imageTable > .image-container > img').each(function(){ 
     $(this).attr('src','images/image-'+ranNums[i]+'.jpg'); 
     i++; 
    }); 
} 

http://www.steef.111mb.de

は、私は、誰かが私を助けることができる 乾杯を願っています

は、私がこれまでのところ、このコードを持っています。

編集: 私はフェードインを追加しましたが、それでもフェードアウトを使用する方法を理解する必要があります。 画像が1枚しか表示されない場合は、Math.random()でより高い数字を使用します。 私はそれがクリーンなコードではないが、それをより良くする方法を理解することはできません。 同じ画像が2回連続して表示されているときに、fadeIn/fadeOutを無効にすることができるかどうかは疑問です。

var j; 
var rand = 900; 
function randomize() { 
    loadRandom(); 
    rand = Math.round(Math.random()*(7000-900+1))+900; 
    clearInterval(j); 
    j = setInterval('randomize();', rand); 
} 
j = setInterval('randomize();', rand); 

function loadRandom(){ 
    var ranNums=[]; 
    while(ranNums.length<7){ 
     var t=Math.floor((Math.random()*8)+1); 
     if(ranNums.indexOf(t)==-1) 
      ranNums.push(t); 
    } 
    var i=0; 
    $('#imageTable > .image-container > img').each(function(){ 
     $(this).attr('src','images/image-'+ranNums[i]+'.jpg'); 
     i++; 
    }); 
    $("img").hide(); 
    $("img").fadeIn(500); 
    $("img").error(function(){ 
      $(this).hide(); 
    }); 
}; 

http://steef.111mb.de//index2.html

答えて

0

私はこの

$("img").hide(); 
    $('#imageTable > .image-container > img').each(function(){ 
      if(ranNums[i]<=7) 
      {$(this).attr('src','images/image-'+ranNums[i]+'.jpg'); 
      $(this).fadeIn(500); 
      } 

     i++; 
    }); 

のようなもので行くよそして今、あなたの問題は、両方が範囲外にあるときの状況を防ぐ方法です。しかし、それは問題の範囲内ではなかった

+0

ありがとう、それは確かにきれいに見える – Stefan

+0

私はあなたがここに新しいと見て - カスタムは、解決策としてマークする(最善の答えを選ぶ)。また、いくつかの問題をGoogleにして、stackoverflowの解決策を見つけたら、あなたの問題を解決する答えをupvoteしてください。コミュニティーとハッピーコーディングへようこそ。 – StormRideR

関連する問題