You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在调用fancybox.open()时传入jQuery对象及opts配置?

Fancybox 调用时同时传jQuery对象与配置项的实现方法

$.fancybox.open() 原生支持多参数传入,你只需要把配置项作为第二个参数传入即可,不需要额外封装改造:

// 已有的弹窗jQuery对象
const popup = $('#popup');

// 自定义配置项
const fancyOpts = {
  afterClose: function () {
    // 此处编写弹窗关闭后需要执行的业务逻辑
  },
  // 其余配置(如宽高、遮罩透明度、动画效果等)都可以在此处声明
};

// 调用时依次传入内容源、配置项即可
$.fancybox.open(popup, fancyOpts);

版本兼容说明

  • 上述写法在 Fancybox 3.x、4.x 主流版本中均可正常生效,第一个参数支持传入jQuery对象、原生DOM对象、HTML字符串、图片地址等各类合法内容源
  • 如果你使用的是较早的Fancybox版本,回调不触发时可以尝试把回调函数放到on节点下配置:
const fancyOpts = {
  on: {
    afterClose: function () {
      // 关闭后回调逻辑
    }
  }
}
  • 多内容轮播场景下,还可以传入第三个参数指定默认打开的内容索引,例如$.fancybox.open(popupList, fancyOpts, 0)表示默认打开组内第一个内容。

内容的提问来源于stack exchange,提问作者Andrew Stepanenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 18:01:10