2014-07-19 1 views
0

FancyBox 2.1.5를 사용하고 있습니다. 홈페이지에 전체 화면 광고 (html)를 표시하려면이 광고를로드하고 닫은 후 사용자가 클릭 할 수있는 표준과 15 초 동안 아무런 조치도 취하지 않으면 자동 숨기기의 두 가지 옵션으로이 광고를 닫아야합니다. 카운터를 설정하고 자동 숨기기 위해페이지로드시 FancyBox 자동 시작 방법 및 15 초 후 자동 숨기기?

$.fancybox.open([ 
{ 
    href : 'http://fancyapps.com/fancybox/demo/1_b.jpg', 
    title : 'Title' 
} 
], { 
padding : 0 
}); 

그러나 방법 :

첫 번째 작업은 문제가되지 않습니다?

나는 다음과 같은 생각 해요 :

$(document).ready(function() { 
$('.fancybox').fancybox.open([ 
{ 
    href : 'http://fancyapps.com/fancybox/demo/1_b.jpg', 
    title : 'Title' 
} 
], { 
padding : 0 
}); 

$('.fancybox').fancybox({ 
afterShow: function(){ 
    setTimeout(function() {$.fancybox.close(); },15000); 
}, 
afterClose: function(){ 
    clearTimeout(); 
}, 
}); 

}); 

이 맞습니까?

미리 도움 주셔서 감사합니다.

답변

0

당신은 지연을 사용하고 exe.c 페이지로드에 함께 기능을 클릭 한 다음 15초

+0

그러나 정확히 어떻게 업데이트를 참조하십시오 멋진 API에 afterShow 및 afterClose 콜백이있다? –

1

난 당신이 오히려보기

$(document).ready(function() { 
    $.fancybox.open([{ 
     href: 'http://fancyapps.com/fancybox/demo/1_b.jpg', 
     title: 'Title' 
    }], { 
     padding: 0, 
     afterShow: function() { 
      setTimeout(function() { 
       $.fancybox.close(); 
      }, 15000); 
     }, 
     afterClose: function() { 
      clearTimeout(); 
     } 
    }); 
}); 

어떻게해야한다고 생각 후에 페이드 아웃 할 수 JSFIDDLE

편집 :

제대로 djdavid98이 가리키고, afterClose 콜백에 대한 지우기 시간이 중복됩니다.

$(document).ready(function() { 
    $.fancybox.open([{ 
     href: 'http://fancyapps.com/fancybox/demo/1_b.jpg', 
     title: 'Title' 
    }], { 
     padding: 0, 
     afterShow: function() { 
      setTimeout(function() { 
       $.fancybox.close(); 
      }, 15000); 
     } 
    }); 
}); 

는 가정, JSFIDDLE

+1

'clearTimeout'은 매개 변수없이 무엇을 할 것인가? 정말 필요합니까? – SeinopSys