Функция Fancybox onComplete не работает

По какой-то причине он просто не работаетonComplete функция. Однако он загружает блок fancybox. Мой HTML:

<ul>
    <li class="orange">

           #1 <a href="#text">click here</a>

           <div id="text" class="text">text text text</div>

    </li>
</ul>

Мой jquery:

 jQuery('li a').fancybox({       
    'autoDimensions':   'false',
    'width' :   631,
    'height':   256,        
    'onComplete':function(){

        alert('running');
        jQuery('.fancybox-skin').css('background-color',colour);
    }
});

предупреждение не запускается. Я также пытался изменить функцию события наonClosed и другие события, и ничего.

 Mauro Bosagna29 авг. 2013 г., 22:48
это решение для fancybox 2 / Stackoverflow.com вопросы / 10295746 / ...
 JFK10 июл. 2013 г., 18:03
ты рассматривал? Jsfiddle.net / 3Nf4c

Ответы на вопрос(5)

onComplete - это опция обратного вызова для fancybox v1.3.x, в то время какfancybox-skin учебный клас был представлен до версии 2.x, ..... поэтому я предполагаю, что вы используете версию 2.x, не так ли?

пции @Fancybox v2.x являются новыми и не совместимы с предыдущими версиями; эквивалент дляonCompleteпция @ (v1.3.x) теперь являетсяafterLoad (v2.x) опция обратного вызова.

Проверьтеhttp: //fancyapps.com/fancybox/#doc для полного списка опций, методов и обратных вызовов для fancybox v2.x

 Junaid Bhura26 апр. 2013 г., 09:17
На самом деле,afterShow будет более разумно использовать, если вы планируете добавлять какие-либо события.afterLoad срабатывает, как только он готов к загрузкед это вообще что-то показывает
 Claire30 мая 2012 г., 21:16
Спасибо за это. Я искал здесь - Fancybox.net это что-то друго
 JFK30 мая 2012 г., 22:24
Это в основном тот же плагин (и один и тот же автор), но версии 1.x и 2.x имеют разные веб-страницы из-за их различных функций и лицензионных планов. Пожалуйста, не забудьте пометить этот ответ как правильный, если вы так считаете. Благодарность
 JFK26 апр. 2013 г., 17:52
@ JunaidBhura: мы смотрим на вопрос / ответ, которому почти год, и в то времяafterLoad был правильным обратным вызовом для использования. Сегодня, если вы спросите меня снова, я бы использовалbeforeShow с последней версией fancybox (v2.1.4) ..... к сожалению, очень трудно обновлять большинство ответов в SO, и люди должны знать, что некоторые ответы могут быть устаревшими.

Fancybox версии 2 не поддерживаетonComplete. Оно используетafterLoad.

jQuery('#tips li a').fancybox({       
    'autoDimensions':   'false',
    'width' :   631,
    'height':   256,        
    afterLoad:function(){

        alert('running');
        jQuery('.fancybox-skin').css('background-color',colour); // colour to 'red' for example. typo
    }

});

afterShow Я думаю, это правильный эквивалентonComplete в Fabxybox 2

 jerrygarciuh26 февр. 2014 г., 18:24
Это был правильный ответ для меня. Я добавлял карту изображений к одному слайду из набора.afterShow сделал работу как задумано.afterLoad не было правильным событием для добавления этого атрибута:$('.fancybox-image').attr('usemap', '#Map');

похоже на опечатку

jQuery('#tips li a').fancybox({       
'autoDimensions':   'false',
'width' :   631,
'height':   256,        
'onComplete':function(){

    alert('running');
    jQuery('.fancybox-skin').css('background-color',colour); // colour to 'red' for example. typo
}
});

Рабочий пример

 agriboz30 мая 2012 г., 14:44
я не нашел.fancybox-skin селектор в jquery.fancybox-1.3.4.css
 Claire30 мая 2012 г., 14:30
это не работает, да, он загружает предупреждение, но цвет bg не меняется
 agriboz30 мая 2012 г., 14:36
ункция @onComplete работает правильно? Вы говорите, что загружает предупреждение. но вы хотите изменить.fancybox-skin фоновый цвет? не могли бы вы предоставить ссылку на сайт

Постнагрузки вместо того OnComplete

Ваш ответ на вопрос