Вопрос по jquery – Функция 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
и другие события, и ничего.
похоже на опечатку
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
}
});
.fancybox-skin
фоновый цвет? не могли бы вы предоставить ссылку на сайт
agriboz
.fancybox-skin
селектор в jquery.fancybox-1.3.4.css
agriboz
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
afterShow
будет более разумно использовать, если вы планируете добавлять какие-либо события.afterLoad
срабатывает, как только он готов к загрузкед это вообще что-то показывает
Junaid Bhura
afterLoad
был правильным обратным вызовом для использования. Сегодня, если вы спросите меня снова, я бы использовалbeforeShow
с последней версией fancybox (v2.1.4) ..... к сожалению, очень трудно обновлять большинство ответов в SO, и люди должны знать, что некоторые ответы могут быть устаревшими.
JFK
afterShow
Я думаю, это правильный эквивалентonComplete
в Fabxybox 2
afterShow
сделал работу как задумано.afterLoad
не было правильным событием для добавления этого атрибута:$('.fancybox-image').attr('usemap', '#Map');
jerrygarciuh