자바스크립트 질문드립니다.

자바스크립트 질문드립니다.

QA

자바스크립트 질문드립니다.

답변 2

본문

랜덤배너를 구현하고 있는중입니다.

 

현재 코드는 랜덤배너가 하나만 랜덤으로 나오는데.

 

제가구현할려고 하는거는 한꺼번에 이미지들이 다나오고

 

거기서 랜덤으로 보이게 구현할려고 합니다..

 

어떻게 하면 될까요?

 

현재 코드는 아래와 같습니다. 어떻게 수정하면될까요? 

$(document).ready(function() {

    function random_imglink(){

   var myimages=new Array()

 

      /* 각각의 이미지 경로 지정 */

      myimages[1]="img/1.jpg"

      myimages[2]="img/2.jpg"

      myimages[3]="img/3.jpg"

  

      /* 각각의 이미지 링크 지정 */

      var imagelinks=new Array()

      imagelinks[1]="링크 경로"

      imagelinks[2]="링크 경로"

      imagelinks[3]="링크 경로"

 

   var ry=Math.floor(Math.random()*myimages.length)

   if (ry==0)

   ry=1

 

   document.write('<a href='+'"'+imagelinks[ry]+'"'+' target=_blank><img src="'+myimages[ry]+'" border=0></a>')

   }

   random_imglink()

 

});

이 질문에 댓글 쓰기 :

답변 2

검색으로 찾은 정보인데, https://stackoverflow.com/a/15667651

 

참고가 되셨으면 합니다.

 

예제 코드


<script>
$(document).ready(function() {
     $('img.img_lg').shuffle();
});
jQuery.fn.shuffle = function () {
  var j;
  for (var i = 0; i < this.length; i++) {
      j = Math.floor(Math.random() * this.length);
      $(this[i]).before($(this[j]));
  }
  return this;
};
</script>
<div id="tout4">
    <img src="images/gallery01.jpg" class="img_lg"/>
    <img src="images/gallery02.jpg" class="img_lg"/>
    <img src="images/gallery03.jpg" class="img_lg"/>
</div>

 

그리고  다음 코드는 문서가 모드 로드된 뒤 실행되는 코드 영역의 의미를 가지고 있습니다.

$(document).ready(function() {

//...

});

 

그래서 별도의 사용자 함수를 만들고, 해당 사용자 함수를 호출한다면,

사용자 함수는 

$(document).ready(function() { }); 영역 밖에 정의하고,

호출만 그 안에 해주는 것이 적절합니다.

var ry=Math.floor(Math.random()*myimages.length);

 

//if (ry==0)

//   ry=1

ry = ry+1;

이렇게 해주시면 될꺼 같아요. 지금 최대값이 2까지만 나오니..

 

아 제가 질문을 잘못봤네요.

 

한번에 이미지가 다나오고 거기서 랜덤으로 보인다는 말 뜻을 잘 모르겠네요.

 

 

지금은 하나의 영역에서만 이미지가 랜덤으로 나온는건데 3개의 이미지가 있다면 3개의이미지를 다나오게 하고 그이미지의 순서들이 뒤섞이게 만들고 싶어서요^^

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 123,672
© SIRSOFT
현재 페이지 제일 처음으로