fancybox没有打开,不知道为什么

时间:2014-11-24 21:11:54

标签: javascript jquery fancybox

我正在尝试用最新版本的fancybox打开一个fancybox 2.3.4,以下代码似乎不起作用,它都没有抛出错误。

我很困惑为什么它没有打开Page:

$(".openmails1").click(function() {
            var sender = $(this).attr('data-id');
            var subject = $(this).attr('title');
            var mailid = $(this).attr('rel');
            $.fancybox.open({
            href: '/account/compose.cfm?sender='+sender+'&subject='+subject+'&mailid='+mailid,
            maxWidth    : 600,
            maxHeight   : 900,
            fitToView   : true,
            width       : '70%',
            height      : '80%',
            autoSize    : true,
            closeClick  : false,
            openEffect  : 'none',
            closeEffect : 'none',
            scrolling   : 'no' 
        });
    });

以下是我如何称呼它

<a data-fancybox-type="iframe" title="This is a Welcome Email" data-id="24" rel="myemail@domain.com" href="javascript:void(0);" class="openmails1">Inia Ornit</a>

更新#1

这就是它的召唤方式:

<a data-fancybox-type="iframe" title="This is a Welcome Email" data-id="24" rel="myemail@mtdomian.com~24" class="openmails1">Inia Ornit</a>

有四条记录具有不同的细节,但使用的类是相同的:

我在这里使用它

$(".openmails1").fancybox({
        href: '/account/compose.cfm?sender='+$(".openmails1").attr('data-id')+'&subject='+$(".openmails1").attr('title')+'&mailid='+$(".openmails1").attr('rel')+'&frmaccount=1',
        maxWidth    : 600,
        maxHeight   : 900,
        fitToView   : true,
        width       : '70%',
        height      : '80%',
        autoSize    : true,
        closeClick  : false,
        openEffect  : 'none',
        closeEffect : 'none',
        scrolling   : 'no' 
    });

总是打开第一个,无论我打开最后一个记录,总是作为第一个记录,不知道为什么会发生这样的事情

1 个答案:

答案 0 :(得分:0)

通过工作示例查看此link

$.fancybox.open([
{
        href : 'http://fancyapps.com/fancybox/demo/1_b.jpg',
        maxWidth    : 600,
        maxHeight   : 900,
        fitToView   : true,
        width       : '70%',
        height      : '80%',
        autoSize    : true,
        closeClick  : false,
        openEffect  : 'none',
        closeEffect : 'none',            
        scrolling   : 'no' 
}  
], {
        padding : 0
});

希望这有帮助。

更新#1

根据您的更新代码,我认为您必须更改为

$(".openmails1").click(function(e) {
    e.preventDefault();

    $(".openmails1").fancybox({
        href: '/account/compose.cfm?sender='+$(this).attr('data-id')+'&           subject='+$(this).attr('title')+'&mailid='+$(this).attr('rel')+'&frmaccount=1',
        maxWidth    : 600,
        maxHeight   : 900,
        fitToView   : true,
        width       : '70%',
        height      : '80%',
        autoSize    : true,
        closeClick  : false,
        openEffect  : 'none',
        closeEffect : 'none',
       scrolling   : 'no' 
   });
});

您必须为单击的每个超链接创建精美的框。请参阅jsFiddle以及运行示例。

希望这就是你要找的东西。