2013-08-30 2 views
1

Скрытые div для FancyBox (v2) Использование:Локальные ссылки в FancyBox DIV не работает

<div id="embargomsg" style="display:none"> 
    <h1 class="entry-title">You Can't Use That Yet</h1> 
    <p>That's the special stuff.</p> 
    <h2 class="pitch">New to the Site?</h2> 
    <p class="pitch"><a class="button secondary promo" href="/register" target="_top"><span>Get Started Today</span></a></p> 
    <h2 class="pitch">Already Registered?</h2> 
    <p class="pitch"><a class="button secondary action" href="/login" target="_top"><span>Log In</span></a></p> 
</div><!-- #embargomsg --> 

Различные ссылки в других местах на странице с классом authctrl должен открыть FancyBox ...

<a class="authctrl" href="/specialstuff1">Special Stuff</a> 
<a class="authctrl" href="/specialstuff2">Some Other Special Stuff</a> 

... с помощью этой функции:

$('.authctrl').click(function(e){ 
    e.preventDefault(); 
    $('#embargomsg').fancybox({ 
    closeClick : false 
    }).trigger('click'); 
}); 

... но когда-либо из .authctrl ссылки щелкнуты, Fancybox, кажется, быстро закрывается и снова открывается. Я попытался добавить closeClick: false безрезультатно.

+0

Это закончилось бы циклом, не так ли? Вы можете определить fancybox вне функции щелчка – Alex

+0

Я ошибочно полагаю, что мне пришлось применить '.trigger ('click')', чтобы открыть fancybox при нажатии элемента '.authctrl'? – petertheta

+0

не напрямую, но как выглядит html embargomsg? Fancybox должен вызываться только на элементах с URL-адресом в них, например . Если предполагается показать html-контент, вы должны сделать это иначе. Но это неясно из вашего вопроса ... – Alex

ответ

0

Есть $('#embargomsg') есть href?

$('.authctrl').click(function(e){ 
    e.preventDefault(); 
    $('#embargomsg').trigger('click'); 
}); 

$('#embargomsg').fancybox({ 
    closeClick : false 
}); 

Предоставьте некоторую наценку, пожалуйста.

+0

Переработанное описание для наглядности. Надеюсь, это поможет! – petertheta

+0

Поскольку я не хотел ссылаться на #embargomsg в (многих различных) элементах триггера, я в конечном итоге сделал 'fancybox.open' следующим образом:' $ .fancybox.open ([{href: '#embargomsg}), {closeClick: false}); 'Я бы разместил ссылку на мои исследования, но это было вымолото из нескольких других вопросов, которые пытались решить проблемы, которые были очень не связаны. – petertheta

Смежные вопросы