2013-04-19 2 views
0

jQuery에 포함 된 YouTube 비디오가 포함 된 div 애니메이션이 있습니다.jQuery 함수를 재설정 하시겠습니까?

동영상을 닫으면 div가 숨기고 동영상이 중지되도록 설정했습니다. 그러나, 내가 영화를 다시 얻고 싶으면 나는 할 수 없다.

이벤트 체인을 재설정 할 수있는 콜백이 있는지 궁금합니다.

는 내가 jQuery를 사용하고 있습니다 :

$("#trigger2").click(function() { 
    $("#movie").animate({bottom: 0}, {duration:1000}); 
    $(".close").delay(1500).fadeIn('slow') 
}); 
$(".close").click(function() { 
    $("#movie").hide(); 
    var $player = $("#movie").detach(); 
}); 
+0

: 없음;으로 onClose '과 다시'디스플레이로 되돌아 : visible'. 그것이 일하는 것인지, 당신은 전자를 시도 할 수 있는지 모른다. –

답변

0

당신은, 유일한 방법은 그것을 다시 얻을 수없는 당신이 먼저 초기화 방법 (비디오와 ) 당신의 사업부를 다시 초기화하는 것입니다 .

당신은 당신의 플레이어 그런 식 추가 시도 할 수 있습니다 - (를 분리 한 후 를) - .detach()

var p; 
$(".close").click(function() { 
     $("#movie").hide(); 
     p = $("#movie").detach(); 
}); 

p.appendTo('body'); 
+0

나는 이것을 가지고 놀고 있었고, 그것이 작동하도록하는 방법에 대해 100 % 아니었다. 이후로는 원래 코드로 되돌아 갔지만 지금은 전혀 작동하지 않습니다! 필자는이 유형의 스크립트에 비교적 익숙하지 않습니다 ... 어떻게 든 그것을 완전히 제거 했습니까? – Greg

1

$("#movie").detach();는 DOM에서 #movie을 제거하고,이 때문에 DOM에 다시 플레이어를 연결 다시 표시 할 수 없습니다. 다른 방법으로 동영상 플레이어를 멈출 수없는 경우 detach으로 유지하고 추가하여 추가하십시오.

jQuery를 :

$("#trigger2").click(function() { 
    var movdiv = "<div id='movie'><p>movie box</p><a class='close'>Close</a></div>"; 
    $(movdiv).appendTo("body").animate({bottom: 0}, {duration:1000}); 
    $(".close").delay(1500).fadeIn('slow'); 
    $(".close").click(function() { $("#movie").detach(); }); 
}); 

바이올린 : 당신이 사업부`디스플레이에 CSS를 적용 할 수 있습니다 http://jsfiddle.net/D4rXa/

관련 문제