안녕하세요.


자바스크립트에서 팝업 레이어어 유투브 영상을 추가하는 경우가 있는데요,

팝업 레이어를 닫아도 당연히 레이어가 닫히기 때문에 유투브 영상은 계속 재생이 됩니다.

그 문제를 해결하는 방법을 알려드릴게요.


#ex

<button onClick="open()">레이어 열기</button>

<div id="popup_layer" onClick="close()">

<div id="popup">

<iframe src="유투브 영상"

</div>

</div>


<script>

var embed_lyaer;

function close()

{

#닫기를 눌렀을때 불리는 함수

embed_lyaer=$('#popup').html(); // popup id에 잇는 html을 embed_lyaer 글로벌 변수에 담아 놓음.

$('#popup).html(''); //popup id에 html 을 제거 

}

function open(){

#열기를 눌렀을때 불리는 함수

$('#popup).html(embed_lyaer); //닫기를 눌렀을때 저장한 글로벌 변수를 다시 popup id에 넣어줌.

}

</script>


해당 닫기버튼을 눌렀을때 정상적으로 유투브 영상이 종료되는걸 확인하였습니다.


감사합니다.


안녕하세요.

PHP에서 다중 배열(array)일 때 특정 key값으로 정렬하고 싶을 때 밑에 방법처럼 하시면 됩니다.


# 예제입니다.

$arr[0]["test1"]  = 1;

$arr[0]["test2"]  = 2;

$arr[0]["test3"]  = 3;

$arr[0]["test4"]  = 나;

$arr[0]["test5"]  = 5;


$arr[1]["test1"]  = 2;

$arr[1]["test2"]  = 3;

$arr[1]["test3"]  = 4;

$arr[1]["test4"]  = 가;

$arr[1]["test5"]  = 5;


$arr[2]["test1"]  = 3;

$arr[2]["test2"]  = 4;

$arr[2]["test3"]  = 5;

$arr[2]["test4"]  = 다;

$arr[2]["test5"]  = 8;


위의 배열에서 test4 key로 가나다 순으로 정렬을 하고 싶을 때


$sortArr = array();

foreach($arr as $res) 

  $sortArr [] = $res['test4']; 


array_multisort($sortArr , SORT_ASC, $arr);  //php lib array_multisort를 이용하면 됩니다.


이렇게 이용하시면 됩니다.


php 라이브러리 함수인 array_multisort 사용법입니다.






안녕하세요.


jquery animate 함수를 이용하여 이미지를 움직이려고 했더니, 이미지가 포물선을 그리며 움직이는게 힘들어서, 

구글 검색을 통해 찾은 parabola.js 를 이용하여 포물선으로 이미지를 움직였습니다.


Parabola Trajectory Examples 예제를 이용 하였습니다(https://github.com/guins/parabolajs)




<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Parabola Trajectory Examples</title>

<style type="text/css">

html, body {

width: 100%;

height: 100%;

margin: 0;

padding: 0;

}

.dot {

position: absolute;

left: 0px;

top: 500px;

}

.scaleAnimation {  // onFinish에 해당 css를 추가

animation: myScale .7s forwards;

-webkit-animation myScale .7s forwards;

}


@keyframes myScale  //이미지가 마지막에 도달하면 해당 css를 통해 작아젓다 커졋다 효과를 부여.

{

from {transform: scale(1);}

20% {transform: scale(1.3);}

65% {transform: scale(0.6);}

90% {transform: scale(1.4);}

to {transform: scale(0);}

}


@-webkit-keyframes myScale

{

from {transform: scale(1);}

20% {transform: scale(1.3);}

65% {transform: scale(0.6);}

90% {transform: scale(1.2);}

to {transform: scale(0);}

}

</style>

<script type="text/javascript" src="parabola.js"></script>

</head>

<body>

<button>Run</button>

<i class="dot"><img id="img_test" src="Star_1.png" style="width:30px"/></i> // dog class 안에 이미지가 포물선으로 날아갑니다.


<script type="text/javascript">

var btn = document.querySelector('button');

var target = document.querySelector('.dot');

var mini = 30;

var start = 1;

var parabola = new Parabola({

startPos: {

left: 0,

top: 500

},

endPos: {

left: 500,

top: 0

},

onStep (pos) {

if((start % 5) == 0){  // 이부분은 기존 이미지를 포물선으로 날아가면 작아지게 만드려고 넣었습니다.

mini = mini -1;

img_test.style.width = mini+"px";

}

start++;

target.style.left = pos.left + 'px';

target.style.top = pos.top + 'px';

},

timingFunction: 'easeInOut',

onFinish (pos) {

target.classList.add('scaleAnimation');

}

});

// parabola.start();

    btn.addEventListener('click', function () {

    target.classList.remove('scaleAnimation');

        parabola.start();

    }, false);

    </script>

</body>

</html>


해당 예제에서 제가 필요한 부분만 바꿔서 적용했습니다.


^_^


+ Recent posts