전체 이미지 노출되게 좀 채택완료
소스 작성하고있는데 폴더에는 사진을 3장이 들어가있는데 한장의 이미지만 출력이되네요
그리고 jpg제목을 1,2,3으로 정해놨는데 랜덤으로 뜨고 정해진되로 출력되고 폴더안에있는걸 다 나오게할려면 어떻게해야하나요?
</p><p>
<? </p><p>$path = "./ddp";
$entrys = array();
$dirs = dir($path);
while(false !== ($entry = $dirs->read())){
if(($entry != '.') && ($entry != '..')) {
if( !is_dir($path.'/'.$entry) ) {
$entrys[] = $entry;
}
}
} </p><p>$dirs->close();
?> </p><p>
<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";
}
}
} </p><p>
</script> </p><p></div> </p><p><div id="shop"></p><p> <input type="button" name="tab_radio" value="DDP" style="width:115px" onclick="tab_change(1)" /></p><p></div>
</div></p><p><hr>
<?
$i = 1;
foreach($entrys as $img){
?>
<div id="tab_content1" style="position:absoulte; display:none"><img src="./ddp/<?=$img?>" /></div>
<?
}
?>
</p><p>
답변 5개
답변에 대한 댓글 2개
<? for( $i=1; $i <= 1; $i++ ) { ?> 1로 바꾸니 되네요
댓글을 작성하려면 로그인이 필요합니다.
처음에는 이미지가 안보였다가 버튼을 누르면 전부 보이게 하고 싶은거면
</pre><pre><? $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> <? } ?> </pre><pre>
tab_change 함수에서 for문은 제가 처음 알려준 소스대로 $cnt 선언하고 이걸로 쓰셔야 이미지 개수와 상관없이스크립트 오류가 안뜹니다. for문을 고정으로 돌리면 이미지 출력하는 갯수와 안받아서 오류발생
답변에 대한 댓글 1개
밑에처럼하닌까 버튼이 사진장수만큼 생성되고 눌렀는데 사진이 출력이안되네요 한개의 버튼에 여러장이 출력되게끔하고싶어서요
[code]
<?
$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>
<?
}
?>
[/code]
댓글을 작성하려면 로그인이 필요합니다.
</p><p><span style="font-size: 11pt;"><? </span></p><p><span style="font-size: 11pt;">$path = "./ddp"; </span></p><p><span style="font-size: 11pt;">$entrys = array(); </span></p><pre>$dirs = dir($path);
while(false !== ($entry = $dirs->read())){
if(($entry != '.') && ($entry != '..')) {
if( !is_dir($path.'/'.$entry) ) {
$entrys[] = $entry;
}
}
}
$dirs->close(); </pre><pre>foreach($entrys as $img){
?>
<div id="tab_content1"><img src="./ddp/<?=$img?>" /></div>
<?
}
?>
댓글을 작성하려면 로그인이 필요합니다.
스크립트에 있는 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 레이어 보여주고 다르면 숨겨버리는거예요.
댓글을 작성하려면 로그인이 필요합니다.
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로 오류 안뜨고 맞춰서 코딩해준건데. 싹 걷어버리셨네요? ㅋㅋ
답변에 대한 댓글 2개
버튼이 111,222,333 이렇게 생성이 되더라고요 그리고 111버튼을 누르면 한장의 이미지 222누르면 또 다른 한장의 이미지 이렇게 뜨더라고요... 그래서 cnt가 이 버튼을 생성시켜서 각 버튼에 한장의 사진만 나오게 하나해서 다시 바꿨는데도 똑같이 한장만 출력되더라고요^^;;
print_r($entrys);
Array ( [0] => 15.jpg [1] => 14.jpg [2] => 13.jpg )
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
그런데 버튼 세개가 다 똑같은 사진 세장이 표현이 되고있어요...
버튼 하나에 사진이 나와야하는데... ^^;; 마지막 하나 부탁드립니다
[code]
<?
$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>
<?
}
?>
[/code]