전체 이미지 노출되게 좀

전체 이미지 노출되게 좀

QA

전체 이미지 노출되게 좀

본문

소스 작성하고있는데 폴더에는 사진을 3장이 들어가있는데 한장의 이미지만 출력이되네요

그리고 jpg제목을 1,2,3으로 정해놨는데 랜덤으로 뜨고 정해진되로 출력되고 폴더안에있는걸 다 나오게할려면 어떻게해야하나요?

 



<?  
$path = "./ddp";   
$entrys = array();  
$dirs = dir($path);    
while(false !== ($entry = $dirs->read())){  
  if(($entry != '.') && ($entry != '..')) {   
    if( !is_dir($path.'/'.$entry) ) {  
      $entrys[] = $entry; 
    }  
  }  
} 
$dirs->close(); 
?>  

<script>  
function tab_change(num) { 
    var tab_content; 
    for (var i=1; i<=9; i++) 
    { 
        tab_content = document.getElementById("tab_content"+i); 
        if (i==num) { 
            tab_content.style.display = ""; 
        } 
        else {  
            tab_content.style.display = "none"; 
        } 
    }  
} 

</script> 
</div> 
<div id="shop">
    <input type="button" name="tab_radio" value="DDP" style="width:115px"  onclick="tab_change(1)" />
</div>
</div>
<hr> 
<? 
$i = 1; 
foreach($entrys as $img){  
?>  
<div id="tab_content1" style="position:absoulte; display:none"><img src="./ddp/<?=$img?>" /></div> 
<?   
}   
?>  
     
 

이 질문에 댓글 쓰기 :

답변 5

45번줄

tab_content.style.display = "block"; 

그런데 저번에는 버튼하나당 사진 하나가 출력된는데 지금은 버튼은 사진 장수만큰 생성되고 사진이 3장이면 버튼도 3개가 나오고 단지 버튼 하나에 3장의 사진이 모두 표현은 됩니다^^;;;
그런데 버튼 세개가 다 똑같은 사진 세장이 표현이 되고있어요...
버튼 하나에 사진이 나와야하는데... ^^;; 마지막 하나 부탁드립니다


<?  

$path = "./ddp";   

$entrys = array();  

$dirs = dir($path);  

$cnt = 0; 

while(false !== ($entry = $dirs->read())){  
 
  if(($entry != '.') && ($entry != '..')) {   

    if( !is_dir($path.'/'.$entry) ) {  
 
      $entrys[] = $entry; 

      $cnt++; 

    } 

  } 

} 

$dirs->close(); 

?>  

<script> 

function tab_change() { 
 
    var tab_content; 

    for (var i=1; i<=<?=$cnt?>; i++) 

    { 

        tab_content = document.getElementById("tab_content"+i); 
       

            tab_content.style.display = "block"; 

        } 

    } 
 
</script> 
 
<div id="shop"> 

<? for( $i=1; $i <= $cnt; $i++ ) { ?> 

    <input type="button" name="tab_radio" value="DDP" style="width:115px"  onclick="tab_change(1)" /> 

<? } ?> 

</div> 

</div> 

<hr> 

<? 

$i = 1; 

foreach($entrys as $img){  

?>  

<div id="tab_content<?=$i++?>" style="display:none"><img src="./ddp/<?=$img?>" /></div> 

<?   

}  

?>  

print_r($entrys);

$dirs->close();

이렇게 $entrys에 파일명이 배열로 제대로 들어왔는지 확인하시구요.

 

18번 줄에 for (var i=1; i<=9; i++) 9까지 도는데 이미지는 3장밖에 없잖아요?

그럼 처음 tab_change 함수를 호출할때 i가 4가 되면 해당 div가 없습니다.

그래서 tab_content.style.display 로 접근하게 되면 스크립트 오류가 뜹니다.

어제 질문에 그래서 이부분도 $cnt로 오류 안뜨고 맞춰서 코딩해준건데. 싹 걷어버리셨네요? ㅋㅋ

아니요^^;;; 했었어요 말씀하신데로요 그런데
버튼이 111,222,333 이렇게 생성이 되더라고요 그리고 111버튼을 누르면 한장의 이미지 222누르면 또 다른 한장의 이미지 이렇게 뜨더라고요... 그래서 cnt가 이 버튼을 생성시켜서 각 버튼에 한장의 사진만 나오게 하나해서 다시 바꿨는데도 똑같이 한장만 출력되더라고요^^;;

스크립트에 있는 tab_change 이 함수 이미지 한장씩 보여주게 하는거예요. tab_change(1) 이렇게 호출을 하면 function tab_change(num) 에서 num에 1이 들어가고 i 가 1부터 9까지 도는데 tab_content = document.getElementById("tab_content"+i); 여기가 id 값이 tab_content1 ~ tab_content9까지 가져와서 num 받은 값하고 i 가 같으면 tab_content 레이어 보여주고 다르면 숨겨버리는거예요.


<?  
$path = "./ddp";   
$entrys = array();  
$dirs = dir($path);    
while(false !== ($entry = $dirs->read())){  
  if(($entry != '.') && ($entry != '..')) {   
    if( !is_dir($path.'/'.$entry) ) {  
      $entrys[] = $entry; 
    }  
  }  
} 
$dirs->close(); foreach($entrys as $img){  
?>  
<div id="tab_content1"><img src="./ddp/<?=$img?>" /></div> 
<?   
}   
?>  
처음에는 이미지가 안보였다가 버튼을 누르면 전부 보이게 하고 싶은거면
<?  
$path = "./ddp";   
$entrys = array();  
$dirs = dir($path);    
while(false !== ($entry = $dirs->read())){  
  if(($entry != '.') && ($entry != '..')) {   
    if( !is_dir($path.'/'.$entry) ) {  
      $entrys[] = $entry; 
    }  
  }  
} 
$dirs->close(); 
?>  

<script>  
function tab_change() { 
    var tab_content; 
    for (var i=1; i<=9; i++) 
    { 
        tab_content = document.getElementById("tab_content"+i); 
        tab_content.style.display = "none"; 
    }  
} 

</script> 
</div> 
<div id="shop">
    <input type="button" name="tab_radio" value="DDP" style="width:115px"  onclick="tab_change()" />
</div>
</div>
<hr> 
<? 
$i = 1; 
foreach($entrys as $img){  
?>  
<div id="tab_content1" style="display:none"><img src="./ddp/<?=$img?>" /></div> 
<?   
}   
?>  
tab_change 함수에서 for문은 제가 처음 알려준 소스대로 $cnt 선언하고 이걸로 쓰셔야 이미지 개수와 상관없이
스크립트 오류가 안뜹니다. for문을 고정으로 돌리면 이미지 출력하는 갯수와 안받아서 오류발생
     

저의 무식을 용서해주세요 ㅋㅋ... 아무리해도 ...안나와요
밑에처럼하닌까 버튼이 사진장수만큼 생성되고 눌렀는데 사진이 출력이안되네요 한개의 버튼에 여러장이 출력되게끔하고싶어서요


<?  

$path = "./ddp";   

$entrys = array();  

$dirs = dir($path);  

$cnt = 0; 

while(false !== ($entry = $dirs->read())){  

  if(($entry != '.') && ($entry != '..')) {   

    if( !is_dir($path.'/'.$entry) ) {  

      $entrys[] = $entry; 

      $cnt++; 

    } 

  } 

} 

$dirs->close(); 

?>  

<script> 

function tab_change() { 

    var tab_content; 
 
    for (var i=1; i<=<?=$cnt?>; i++) 

    { 

        tab_content = document.getElementById("tab_content"+i); 



            tab_content.style.display = "none"; 

        } 

    } 
 

 
</script> 

<div id="shop"> 
<? for( $i=1; $i <= $cnt; $i++ ) { ?> 
    <input type="button" name="tab_radio" value="ddp" style="width:115px"  onclick="tab_change(1)" /> 
<? } ?> 
</div> 
</div> 
<hr> 
<? 
$i = 1; 
foreach($entrys as $img){  
?>  
<div id="tab_content1" style="display:none"><img src="./ddp/<?=$img?>" /></div> 
<?   
}  
?>

답변을 작성하시기 전에 로그인 해주세요.
전체 773
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT