2013-01-12 2 views
0

이 플라이 아웃 연락처 패널을 만들었습니다. 그것은 내 Wordpress 사이트에 넣을 때까지 잘 작동, 그럼 전혀 작동하지 않습니다. 내가 처음에 jQuery(document).ready를 넣어 경우,이 일을 시작하는 것이jQuery 플라이 아웃 패널이 닫히지 않습니다

http://jsfiddle.net/XwTpE/1/

내가 찾았지만 지금은 종료되지 않습니다 여기가 어떻게 해야하는거야! 닫기 버튼을 누르면 다시 열립니다. 사실, 나는 어디에서나 페이지를 클릭하면 페이지가 다시 열리는 것을 발견했습니다. 데모 여기를 참조하십시오 :

http://jsfiddle.net/q9b7M/1/

희망이 해결 간단합니다! 어떤 도움을 주셔서 감사합니다. 감사! 당신이 DOM Ready handler을 사용하는 방법이 아니다

+0

DOM 준비 핸들러를 사용하는 방법이 아닙니다. 클릭 핸들러를'document'에 바인딩합니다. –

답변

0

당신이 필요합니다

jQuery(document).ready(function() { 
    jQuery('#contactFlyout').click(function() 
{ 
    jQuery(".togglepanel:visible").hide(); 
    jQuery("#contact_panel").animate({width:'toggle',height:'toggle'},200); 
}); 

// the close button 
$('.closeDiv').click(function() 
{ 
    jQuery(".togglepanel:visible").animate({width:'toggle',height:'toggle'},200); 

}); 
}); 

참조 : 파브 지적대로 속기를 사용할 수 http://jsfiddle.net/DcRHh/2/

또는. 나는 다른 스크립트와의 충돌을 피할 때 당신이하고있는 것을 알지 못한다면, Wordpress 내부에서 $ 이상의 jQuery를 고수 하겠지만.

+0

너희들은 대단하다! 두 가지 방법 모두 완벽하게 작동하지만 Liam에게만 답을 줄 수있는 이유는 대답이 적기 때문입니다. 둘 다 감사 드리며 Fabricio에게 DOM Ready 처리기를 올바르게 사용하는 방법을 배우는 링크를 제공해 주셔서 감사합니다. – danzo

+0

3 분 안에 수표를 주면 답을 상향 회신 할 수 있습니다. 그냥 선생님. 문제 없어. ': P' –

+0

문제 없음 @ 단조 - 언제든지 –

0

:

jQuery(function ($) { //shorthand for DOM Ready, put your code inside of it 
    $('#contactFlyout').click(function() { 
    $(".togglepanel:visible").hide(); 
    $("#contact_panel").animate({ 
     width: 'toggle', 
     height: 'toggle' 
    }, 200); 
    }); 
    $('.closeDiv').click(function() { 
    $(".togglepanel:visible").animate({ 
     width: 'toggle', 
     height: 'toggle' 
    }, 200); 
    }); 
}); 

Fiddle

는 DOM 준비 처리기 범위 내 $ 다시 jQuery를 별칭으로 특수 jQuery(function($){}) 구문은 WP 매우 유용합니다. jQuery을 반복해서 입력하고 싶지 않은 경우 매우 유용합니다.

+0

당신은 맞습니다. 저는 항상 Wordpress에서 jQuery (function ($) {})를 사용합니다. 그러나 나는 과거에 나를 실패로 삼았 기 때문에, 충돌에 대해 모르는 사람들은 jQuery . 또는 가끔 그 메서드가 실패하면 var $ j = jQuery.noConflict(); jQuery를 참조 할 때 $ j를 사용하면 꽤 강력합니다. –

+0

@LiamBailey 예, 향후 사용자에게 유용한 데이터입니다. 그러나 사용하고있는 플러그인 (있는 경우)이'(function ($) {}) (jQuery)'를 사용하여 올바르게 작성 되었다면, DOM 준비된'jQuery (function ($) {}) '구문은 jQuery가 처리기 범위 내에서'$'매개 변수로 전달 될 때의 문제. 모든 코드가 내부에있는 한'$ '를 사용하여 jQuery를 참조 할 수 있습니다. –

+0

또한 jQuery는 WP에 의해 자동으로'noConflict'에 삽입됩니까? 'var $ j = jQuery;'도 충분할 것입니다. '=]' –

관련 문제