首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$.fancybox( elem )工作,但是$( elem ).fancybox()不工作

$.fancybox( elem )工作,但是$( elem ).fancybox()不工作
EN

Stack Overflow用户
提问于 2014-11-06 17:52:08
回答 2查看 54关注 0票数 1
代码语言:javascript
复制
Jquery 1.11.1
FancyBox 2.1.5

正如标题所描述的,

代码语言:javascript
复制
$.fancybox( elem )   // works!
$( elem ).fancybox() // Returns `elem`, but doesn't instantiate the Popup

我只会低下头,选择第一个选项,因为它是有效的,但我不能以这种方式将选项传递给FancyBox。

有什么想法吗?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-06 19:19:40

案例1

代码语言:javascript
复制
$( elem ).fancybox({
    // API options
});

..。只是将fancybox绑定到elem,但仍然需要一个click事件(在elem上)才能触发fancybox。请参阅JSFIDDLE

案例2

代码语言:javascript
复制
$.fancybox(elem,{
    // API options
});

...triggers fancybox以编程方式使用elem作为其内容。JSFIDDLE

案例3

代码语言:javascript
复制
$.fancybox({ 
    content: elem,
    // other API options
}); 

..。它类似于案例2,但使用了不同的语法。它通常用于将任意HTML作为内容传递(通常需要将type设置为html)。JSFIDDLE

案例4

如果elem是一个引用(例如一个inline容器),那么您可以这样做

代码语言:javascript
复制
$.fancybox({ 
    href: elem,
    // other API options
}); 

JSFIDDLE

案例5

代码语言:javascript
复制
$.fancybox([object],{
    // API options
});

..。其中可以传递javascript对象的集合,如下所示:

代码语言:javascript
复制
var elem = [{
    href: "images/image01.jpg",
    title: "title 01"
}, {
    href: "images/image02.jpg",
    title: "title 02"
}];

请参阅JSFIDDLE

注意事项:以上所有场景都适用于fancybox v1.3.4或v2.x

票数 1
EN

Stack Overflow用户

发布于 2014-11-06 18:08:25

只是把这个作为一个部分的答案。使用工作中的非官方语法,我可以写:

代码语言:javascript
复制
$.fancybox({ content: elem });

然后,我可以传递选项以及elem

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26786090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档