2011-02-01 7 views
0

먼저 자바 스크립트에 익숙하지 않아서 여기 있습니다. 내 사이트에서 임의의 이미지를 그릴 수있는 코드가 있습니다. 이 작업을 통해 어떻게 이미지를 반복하지 않을 수 있습니까? 덕분에 adv! 코드 :임의의 이미지; 반복하지 않고?

<script type="text/javascript"> 

var banner_list = ['http://i1233.photobucket.com/albums/ff389/lxluigixl/Cargo/LM_LogoMark4-4-2.gif', 'http://i1233.photobucket.com/albums/ff389/lxluigixl/Cargo/logobg_dome.png', 'http://i1233.photobucket.com/albums/ff389/lxluigixl/Cargo/logobg_brain.png']; $(document).ready(function() { var ran = Math.floor(Math.random()*banner_list.length); 
$(".logobg img").attr(banner_list[ran]); 
}); $(document).bind("projectLoadComplete", function(e, pid){ 
var ran = Math.floor(Math.random()*banner_list.length); 
$(".logobg img").attr("src", banner_list[ran]); 
}); </script> 

답변

0

이미지를 표시 한 후에 이미지를 배열 밖으로 분리하면 banner_list.splice(ran, 1);을 사용할 수 있습니다. 인수는 .splice(index, howManyToRemove, howManyToInsert)입니다. 삽입은 선택 사항이므로 스플 라이스를 사용하여 표시중인 이미지의 색인에서 시작하여 제거 할 수 있습니다. 참조가 끝날 때까지 제거하지 않도록하십시오.

+0

고맙습니다. 나는 정말로 나를 위해 코드 조각을 쓸 시간이있는 사람이 필요하다. 나는 그 자바에 익숙하지 않다. 나는 지금 당장 이걸 알아 내려고 애썼다. – luigi

+0

그것은 코드입니다. 'banner_list.splice (ran, 1);'배열을 통해 이미지를 사용한 후에 바로 넣으십시오. 예제의 경우 이미지의 src를 설정 한 직후입니다. 또한 Java는 나중에 참조 할 수 있도록 Javascript와 매우 다릅니다. – Robert

+0

오 와우 감사합니다. 많은 로버트. 나는 그래픽 디자이너이고, 당신이 볼 수 있듯이 프로그래밍에 관해서는 아주 무지합니다. 설명 주셔서 감사합니다;) – luigi

0

2 개의 배열을 사용하여 Robert.splice()를 Robert 제안으로 사용할 수 있습니다. 하나는 미사용이고 다른 하나는 중고 이미지입니다. 내 JSfiddle을 확인하십시오.

var images = ["http://www.fowkesauto.com/products_pictures/nutsbolt.jpg", 
       "http://i01.i.aliimg.com/photo/v0/114511763/Fasteners_Bolts_and_Nuts.jpg", 
       "http://us.123rf.com/400wm/400/400/DLeonis/DLeonis0810/DLeonis081000018/3706757-bolts-and-nuts-on-white.jpg", 
       "http://static3.depositphotos.com/1003288/173/i/950/depositphotos_1737203-Nuts-and-bolts.jpg"], 
    usedImages = []; 

setInterval(function() {changeImage();},500); 

var changeImage = function() { 
    var index = Math.floor(Math.random() * (images.length)), 
     thisImage = images[index]; 

     usedImages.push(thisImage); 
     images.splice(index, 1); 

     if (images.length < 1) { 
      images = usedImages.splice(0, usedImages.length); 
     } 

     $("#image").attr("src", thisImage); 
} 
관련 문제