PHP2011. 5. 11. 14:42

<?

//-----------------------------------------------------

//pic_name[] php변수에 이미지 경로를 담아둡니다.

//msg[] php변수에는 코멘트를 담아둡니다. (본 소스에서는 그냥 순차적으로 부여했습니다.)

//------------------------------------------------------

//이미지 경로를 지정

$pic_name[1]="s3_11.jpg";

$pic_name[2]="s3_13.jpg";

$pic_name[3]="s3_14.jpg";

$pic_name[4]="s3_2.jpg";

 

$pic_num=4;//이미지 갯수를 지정

 

//크기 줄이기 함수

function SmartResize($file,$size) {

    $fsize = getimagesize($file);

    $fsize = ($fsize[0] >= $size) ? $size : $fsize[0];

    return $fsize;

}

//이미지 슬라이더

echo"

<script>

var doing = 'true';//마우스 온 후 다시 아웃할때 액션을 유지

var slide = 'true';//슬라이드쇼 할 것인지 체크

var first ='true';//처음으로 로드하는 것인지 체크

var preLoad = new Array(); 

 

if(!imgNo) var imgNo=0;//몇번째 이미지 인지 지정 

var msg=new Array();

var imgwidth=new Array();

var imgw=new Array();

var imgh=new Array();

var img = new Array(); // 사용할 이미지 파일을 설정 하세요

";

 

for( $i=1;$i<=$pic_num;$i++) {

  echo"msg[$i] ='$i 번째 이미지';\n";

  $imgsize=getimagesize('file/'.$pic_name[$i]);

  $imgwidth[$i] = SmartResize('file/'.$pic_name[$i],500);

  echo"imgwidth[$i] = '$imgwidth[$i]';\n

  imgw[$i]='$imgsize[0]'\n

  imgh[$i]='$imgsize[1]'\n";

  echo"img[$i] = 'file/$pic_name[$i]';\n";

}

 

echo"

var imgnum = img.length-1; //이미지 갯수 설정(배열이0부터 시작하기 때문에 1일 뺌)

for (i = 0; i <=imgnum; i++) 

      preLoad[i] = new Image(); 

      preLoad[i].src = img[i]; 

//이전 이미지 함수

function prev(){

if(imgNo=='1') {

imgNo=imgnum;

}

else {

imgNo=imgNo-1;

}

if (slide=='true') {

document.imgNo.filters.blendTrans.apply();  

}

document.imgNo.src=preLoad[imgNo].src;

imgmessage.innerHTML=''+msg[imgNo]+'';

document.imgNo.width=imgwidth[imgNo];

imgno.innerHTML=''+imgNo+'/'+imgnum+'';

if (slide=='true') {

document.imgNo.filters.blendTrans.play(); 

}

}

//다음 이미지 함수

function next(){

if((imgNo==imgnum)||(first=='true')) {

imgNo=1;

}

else {

imgNo=imgNo+1;

}

if (slide=='true') {

document.imgNo.filters.blendTrans.apply();  

}

document.imgNo.src=preLoad[imgNo].src;

imgmessage.innerHTML=''+msg[imgNo]+'';

document.imgNo.width=imgwidth[imgNo];

imgno.innerHTML=''+imgNo+'/'+imgnum+'';

if (slide=='true') {

document.imgNo.filters.blendTrans.play(); 

}

}

//핫키 체크

function checkHotkey(){

        if(slide!='true'){

          if ( (event.srcElement.tagName != 'INPUT') && (event.srcElement.tagName != 'TEXTAREA') ){

            if(event.keyCode=='65'||event.keyCode=='97'){ //d와 D는 앞으로

              slide='false';

              prev();

            }

            if(event.keyCode=='68'||event.keyCode=='100'){ // a와 A는 뒤로

              slide='false';

              next();

            }

          }

        }

}

document.onkeypress=checkHotkey;

//마우스 온 및 온로드 함수

function mouseon() {

  if (doing=='true') {

    slide='true';

    next();

    setTimeout('mouseon()', 3500);

  }

  else {doing='true';}

  first=false;

}

//이미지 뛰우기

function openimg() {

    var x = (screen.availWidth - (parseInt(imgw[imgNo])+40)) / 2;

    var y = (screen.availHeight - (parseInt(imgh[imgNo])+35)) / 2;

    var myWin = window.open(img[imgNo],'','width='+(parseInt(imgw[imgNo])+40)+',height='+(parseInt(imgh[imgNo])+35)+',top='+y+',left='+x+',resizable=yes,scrollbars=yes');

}

</script>

<body onload=mouseon()>

<div id=imgno></div>

<a href='javascript:openimg()'><img name='imgNo' src='file/$pic_name[1]' style='filter: blendTrans(duration=2);cursor:hand;'  onmouseover='javascript:doing=false;slide=false'; onmouseout='mouseon()'></a>

<div id=imgmessage></div>";

?>

 

 

링크페이지 : http://miniwini.com/miniwinis/bbs/index.php?bid=share&m=search&mode=read&id=2230&p=1&keyword=php&scale=1&op=and&idx=2

Posted by 아이맥스