Jquery FancyBox,让ajax在加载/单击窗口时启动

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':

我正在尝试在ajax调用后单击弹出一个fancybox窗口。我可以和你一起做

$(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多个关于内容的消息,每个消息都需要特定的内容。