다른 기능을 시작하거나 중지 할 수 있도록 fancybox가 열려 있는지 확인해야합니다.fancybox가 열려 있는지 확인하는 방법은 무엇입니까?
빌드 인 기능 'onStart'또는 'onClosed'와 같은 Fancybox가 작동하지 않습니다.
난 당신이 내장 함수에 의해 무슨 뜻인지 모르겠어요 버전 1.3.0 RC2
다른 기능을 시작하거나 중지 할 수 있도록 fancybox가 열려 있는지 확인해야합니다.fancybox가 열려 있는지 확인하는 방법은 무엇입니까?
빌드 인 기능 'onStart'또는 'onClosed'와 같은 Fancybox가 작동하지 않습니다.
난 당신이 내장 함수에 의해 무슨 뜻인지 모르겠어요 버전 1.3.0 RC2
사용중인 버전이 문서와 분명히 일치하지 않습니다. 원본을보고 옵션의 이름이 온라인 문서와 다른 것을 보았습니다. 난 그냥 1.3RC2와 다음 테스트 :
$(document).ready(function() {
function myStartFunction() { alert('fancy box opened'); }
$("a#inline").fancybox({
'onStart': myStartFunction
});
});
당신이 찾고있는 옵션은 'ONSTART'입니다 - myStartFunction의 경고가 나는 상자를 열 때마다 꺼집니다. 그들이 옵션을 변경 한시기는 확실하지 않지만 맨 아래에서 사용하는 버전의 소스를보고 옵션을 호출해야하는지 확인할 수 있습니다.
편집
난 그냥 더블 v1.2.5에 확인 - 내가 사용하는 버전을 - 그리고 콜백가 실제로 다른 이름이 지정됩니다. 내가 말했듯이 callbackOnStart하지 1.3
에 대해 이야기하고있다. Fancybox는 사용자 정의 함수 (사용자가 직접 작성해야 함)를 호출하는 콜백을 가지고 있습니다. 등 :
function myClose()
{
alert('close');
}
function myStart()
{
alert('start');
}
$("a#single_image").fancybox({
'callbackOnClose': myClose,
'callbackOnStart': myStart
// etc, etc..
});
또는 당신은 내부에 아무것도가 있는지 확인하기 위해 fancy_content
사업부를 확인할 수 있습니다. (있는 경우 fancybox가 열려 있음).
if ($('#fancy_content:empty').length > 0)
{
// Is empty
}
이 나를 위해 작동하는 것 같다, 1.25와 함께 작동하지만 :
isLoaded : function(){
return $('#fancybox-content').html()!='';
}
봅니다 방법
beforeLoad, // Before loading
afterLoad, // After loading
beforeShow, // Before changing in current item
afterShow, // After opening
미세이 코드가 작동을 사용하는
$(".fancybox").fancybox({beforeShow:function(){alert('blah');}});
OP는'내가 말하는 버전 1.3.0 RC2' – JFK
fancybox가 열려 있는지 여부를 확인하는 방법을 찾고 있다면 (열린 상태에서 해고되는 이벤트 대신) fancybox)를 사용하면 fancybox v2에서 $.fancybox.isOpen
속성을 사용할 수 있습니다. 그것은 문서화되지 않았습니다 (적어도 나는 어떤 참고 문헌도 찾지 못했지만).
예 :
if(!$.fancybox.isOpen) {
$.fancybox.open({
href: '#newsletter-campaign-popup',
height: 385,
width: 510,
type: 'inline'
});
}
하나가 열려있는 경우 상기 제 fancybox를 여는 것을 방지 예.
당신은 당신이 더 나은 더 보편적 인 해결책이 될 수있는 코드를 다음, fancybox에 사용되는 여러 사업부의의가있는 경우 :
if ($('.fancybox-opened').length == 0) {
//there is no fancybox opened at all
}
참고 또한 fancybox 내용 fancybox가 닫혀있는 경우에도 항상 비어하지 않을 수 있습니다.
$.fancybox.isOpen
(bool)은 fancybox가 열려 있는지 여부를 나타냅니다.
더 좋고 예쁜 해결책, 대답해야한다 –
예,하지만 Fancybox 2에서만 작동합니다. – tillsanders
하하, http://fancybox.net/dev/130/의 소스에서 볼 수 있다면 두 번째 매개 변수에서 'onStart'등을 호출합니다. 그렇게하면 작동하지 않습니다. 고마워요 에릭 ^^ –