Fancybox链接显示另一个Fancybox
Fancybox link to display another fancybox
有时在一个fancybox中有一个链接来启动另一个fancy box(或加载当前fancy box中的内容)是有意义的。
比方说,您在登录时收到一条fancybox错误消息。你还有一个"给我发电子邮件,我的密码"小部件,可以通过一个fancybox工作。你可能想把两者结合起来说(在一个幻想盒中):
Bad password!
<a href="#forgot-password">Forgot my password!</a>
不幸的是,这不会奏效。我考虑添加以下js:
$('#fancybox-content a').live('click', function(){
$(this).fancybox();
});
令人惊讶的是,这种方法奏效了:你必须点击链接两次,然后正确的事情就会发生。啊。
最后,我发现了一个令人讨厌的丑陋作品(它很管用!):
$('#fancybox-content a').live('click', function(){
var href = $(this).attr('href'); //assume there is a selector inside href
$.fancybox($(href).html()); //find the html manually and load
});
实现这一目标的正确方法是什么?
这就是我在项目中解决这个问题的方法:
$('a.fancybox').live("click",function(event) {
event.preventDefault();
var href = $(this).attr('href');
$.fancybox({href: href})
});
通过这种方式,您可以使用.fancybox类将fancybox添加到任何当前和未来的A元素中,这样您就不必在打开fancybox后定义新的事件。
版本2已经在使用"live",因此使用类名-`$(".fancybox").fancybok();'-也适用于使用ajax 加载的元素
您应该告诉元素从插件中打开Fancybox。
在某个地方你有以下->
$(document).ready(function(){
$("#my_element").fancybox();
});
这是打开Fancybox的一个非常基本的函数,不仅如此,它还将根据元素的href打开什么。你不需要在这里做任何腿部工作。
所以如果你有->
<a href="#forgot-password">Forgot my password!</a>
只需添加一个ID,例如"x"以简化操作->
<a id="x" href="#forgot-password">Forgot my password!</a>
然后,为该元素启用Fancybox插件。
$(document).ready(function(){
$("#my_element").fancybox();
//this is for our new container to fire
$("#x").fancybox();
});
这应该就是你所需要的。
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 使用clickToggle并在单击另一个元素时关闭元素
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 无法从jquery Mobile导航栏重定向到另一个页面
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 导航到特定事件的另一个变量页面
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 如何在react js中将值从一个组件发送到另一个组件
- 按我自己的类克隆另一个元素的内容和顺序
- 嵌套到另一个函数中的Fancybox函数;不起作用
- 当另一个函数调用时打开fancybox
- 在另一个Fancybox Ajax上打开Fancybox
- Fancybox链接显示另一个Fancybox