Как запустить jQuery Fancybox на загрузке страницы?

Если пример, который я привел в комментарии, это то, что вам нужно, вы можете использовать следующий код, предполагая, что вы хотите выбрать все строки where context = 'c1', текущий value = 'v1', следующее значение = 'v3', если ordered by time :

declare @t table
(
    Time_ DateTime,
    user_ bigint,
    context varchar(50),
    value_ varchar(50)
);

insert into @t values
('20000101', 1, 'c1', 'v1'),
('20000102', 1, 'c2', 'v3'),
('20000103', 1, 'c1', 'v3'),
('20000104', 2, 'c1', 'v1'),
('20000105', 2, 'c1', 'v4'),
('20000106', 2, 'c1', 'v2');

with cte as
(
select *, 
       lead(value_) over(partition by user_ order by time_) as next_value
from @t
where context = 'c1' 
)

select *
from cte
where next_value = 'v3';
95
задан Blegger 30 April 2009 в 14:42
поделиться

5 ответов

Fancybox currently does not directly support a way to automatically launch. The work around I was able to get working is creating a hidden anchor tag and triggering it's click event. Make sure your call to trigger the click event is included after the jQuery and Fancybox JS files are included. The code I used is as follows:

This sample script is embedded directly in the HTML, but it could also be included in a JS file.

<script type="text/javascript">
    $(document).ready(function() {
        $("#hidden_link").fancybox().trigger('click');
    });
</script>
161
ответ дан 24 November 2019 в 05:44
поделиться

возможно, вы можете использовать jqmodal , он легкий и простой в использовании. Вы можете показать модальное окно, вызвав

$('.box').jqmShow() 
0
ответ дан 24 November 2019 в 05:44
поделиться

Или используйте это в файле JS после настройки вашего fancybox:

$('#link_id').trigger('click');

Я полагаю, что Fancybox 1.2.1 будет использовать параметры по умолчанию, иначе из моего тестирования, когда мне нужно было это сделать.

8
ответ дан 24 November 2019 в 05:44
поделиться

На самом деле мне удалось активировать ссылку fancyBox только из внешнего файла JS, используя «живое» событие:

Сначала добавьте событие щелчка в реальном времени в вашу будущую динамическую привязку:

$('a.pub').live('click', function() {
  $(this).fancybox(... fancybox parameters ...);
})

Затем добавьте привязку к телу:

$('body').append('<a class="iframe pub" href="your-url.html"></a>');

Затем запустите fancyBox, «щелкнув» привязку:

$('a.pub').click();

Ссылка fancyBox теперь «почти» готова. Почему «почти»? Потому что похоже, что вам нужно добавить некоторую задержку, прежде чем запускать второй щелчок, иначе скрипт не готов.

Это быстрая и грязная задержка с использованием некоторой анимации на нашем якоре, но она работает хорошо:

$('a.pub').slideDown('fast', function() {
  $('a.pub').click();
});

Вот и все, ваш fancyBox должен появиться при загрузке!

HTH

2
ответ дан 24 November 2019 в 05:44
поделиться

Maybe this will help... this was used in the full size jQuery calendar click event (http://arshaw.com/fullcalendar/)... but it can be used more generally to deal with fancybox being launched by jQuery.

  eventClick: function(calEvent, jsEvent, view) {
      jQuery("body").after('<a id="link_'+calEvent.url+'" style="display: hidden;" href="http://thisweekinblackness.com/wp-content/uploads/2009/01/steve-urkel.jpg">Steve</a>');
      jQuery('#link_'+calEvent.url).fancybox(); 
      jQuery('#link_'+calEvent.url).click();
      jQuery('#link_'+calEvent.url).remove();
    return false;
  }
1
ответ дан 24 November 2019 в 05:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: