전체 이미지 노출되게 좀
본문
소스 작성하고있는데 폴더에는 사진을 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";
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로 오류 안뜨고 맞춰서 코딩해준건데. 싹 걷어버리셨네요? ㅋㅋ
스크립트에 있는 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문을 고정으로 돌리면 이미지 출력하는 갯수와 안받아서 오류발생
답변을 작성하시기 전에 로그인 해주세요.