使用iframe从函数打开fancybox弹出窗口

时间:2013-01-25 12:26:44

标签: javascript jquery fancybox lightbox

我已经在Stackoverflow中搜索得足够多了,我无法找到一个线程来回答我的问题。

以下是我的情景,

function openVideo(videoid,urlid){
        var videourl = 'http://localhost/ptchoice-local/welcome/video/'+videoid+'/'+urlid;

        $("a#video_link").fancybox({
                    'type': 'iframe', 
            'width' : 1000,
            'height' : 600,
            'autoDimensions' : false,
            'autoScale' : false,
            'href' : videourl
        });

    $("a#video_link").trigger('click');
    return false;
} 

<a href="#" onclick="openVideo('2134sdf234532sdfs324234','1')">Show video</a>

所以,当我点击“openVideo”函数而不是锚标签本身时,我想设置href值。

Fancybox版本:jquery.fancybox-1.3.4.pack.js

请就此提出建议。

2 个答案:

答案 0 :(得分:3)

如果我理解你的问题,这对你有用:

需要为锚点添加ID:

<a href="#" id="showVideo">Show video</a>

jQuery:

$("#showVideo").click(function () {
    var videourl = 'http://localhost/ptchoice-local/welcome/video/2134sdf234532sdfs324234/1';

    $("#video_link").fancybox({
        'type': 'iframe', 
        'width' : 1000,
        'height' : 600,
        'autoDimensions' : false,
        'autoScale' : false,
        'href' : videourl
    });

    $("#video_link").trigger('click');
});

由于videoid和urlid在您的示例中是硬编码的,因此我在此处执行了相同的操作。如果需要,它们可以是变量 - 只需按照相同的方式设置它们。

答案 1 :(得分:1)

你可以这样做。

function openVideo(videoid,urlid) {
    var videourl = 'http://localhost/ptchoice-local/welcome/video/'+videoid+'/'+urlid;
    $.fancybox.open({
        href: videourl,
        type: 'iframe',
        padding: 0
    });
}