У меня есть это:
$("a.money").colorbox({href:$("a.money").attr("href")+" div#content"});
Открывает наложение, но только содержимое в селекторе #content. Если я добавлю iframe: true, это больше не будет работать. Есть ли способ заставить его работать с iframe?
Edit:
Самым близким, что я мог заставить его работать, было сделать это:
$("a.money").colorbox({iframe:true, width:700, height:425,
onComplete: function() {
alert('test');
$test = $("#cboxLoadedContent iframe").contents().find("#content").html();
$("#cboxLoadedContent iframe").contents().find("#container").html($test);
}
});
Хотя без предупреждения оно не работает, я изучил это и думаю, что мне нужно использовать .live (), что привело меня к попытке:
$('a.money').live('click', function() {
url = this.href; // this is the url of the element event is triggered from
$.fn.colorbox({href: url, iframe:true,width:700, height:425,
onComplete: function() {
$test = $("#cboxLoadedContent iframe").contents().find("#content").html();
$("#cboxLoadedContent iframe").contents().find("#container").html($test);
}
});
return false;
});
Не сработало, мне все еще нужно было добавить предупреждение, чтобы оно заработало.
На случай, если вам интересно, что я пытаюсь сделать. Веб-страница загружается в iframe со всеми элементами в #container, так что включает в себя #header, #sidebars, но я хочу только показать #content внутри iframe. Однако это привело меня к другой проблеме, которую я осознал. Предполагая, что это работает без предупреждения, оно будет работать только для этой начальной страницы. Например, если я загрузил форму в iframe, после отправки формы я бы снова увидел весь макет, а не только часть #content. Можно ли продолжать показывать только #content часть страницы при дальнейшей навигации?