Jquery FancyBox,让ajax在加载/单击窗口时启动
我正在尝试在ajax调用后单击弹出一个fancybox窗口。我可以和你一起做Jquery FancyBox,让ajax在加载/单击窗口时启动,jquery,ajax,fancybox,Jquery,Ajax,Fancybox,我正在尝试在ajax调用后单击弹出一个fancybox窗口。我可以和你一起做 $(document).ajaxStop(function() { //FancyBox image zoom functionality jQuery script $("a.aboutContentImage").fancybox({ 'zoomOpacity': true, 'zoomSpeedIn': 300, 'zoomSpeedOut':
$(document).ajaxStop(function() {
//FancyBox image zoom functionality jQuery script
$("a.aboutContentImage").fancybox({
'zoomOpacity': true,
'zoomSpeedIn': 300,
'zoomSpeedOut': 300,
'overlayShow': true,
'frameWidth': 800,
'frameHeight': 600
});
});
我应该注意到,a.aboutcontenttimate
在ajax调用之后才出现在页面上
然后在窗口打开后,我需要从ajax调用加载一些文本。我试过了
$("a.aboutContentImage").live("click", function(e) {
// ajax here
});
但是,尝试将事件侦听器放在fancybox对象上存在某种兼容性问题 首先,为什么不将文本添加到图像标题中?Fancybox会自动将标题添加到标题中。如果需要执行其他操作,请尝试使用Fancybox
onComplete
callback()?我还没有对此进行测试,但它应该可以工作:
$(document).ajaxStop(function() {
//FancyBox image zoom functionality jQuery script
$("a.aboutContentImage").fancybox({
'zoomOpacity': true,
'zoomSpeedIn': 300,
'zoomSpeedOut': 300,
'overlayShow': true,
'frameWidth': 800,
'frameHeight': 600,
'onComplete' : function(){
// do whatever here
var txt = $('#text').text();
$('#fancybox-title-float-main')
.append(txt)
.show();
}
});
});
添加到
#fancybox title float main
将在title属性的末尾添加文本。因此,您可能希望使用.html()
而不是.append()
或其他任何东西。您希望将文本加载到花式框中吗?也许这会有帮助:嗯,如果你没有图像的title属性,那么#fancybox title float main
div就不存在了,因此你可以将内容添加到#fancybox title
,但是你必须为它添加一些css样式。另一个解决方案是将内容添加到图像所在的#fancybox content
,但随后您需要将图像高度更改为非100%
,并将文本高度添加到内容窗口中-这真的是一件非常痛苦的事。。。但是没有所有ajaxy的东西。它会引入表单、图像等不适合也不应该出现在标题中的东西。然后将其添加到#fancybox内容中
,这将不起作用,因为这是一个组。ie多个关于内容的消息,每个消息都需要特定的内容。