在页面加载时启动FancyBox而不单击

时间:2011-12-08 16:14:52

标签: jquery fancybox javascript

我想在网页加载时使用fancybox显示模态窗口。此窗口将显示一个允许选择所需语言的网页。弹出窗口中显示的页面将是与主页(index_popup.php)位于同一文件夹中的网页(index.php)。

7 个答案:

答案 0 :(得分:11)

window.jQuery(document).ready(function() {
    $.fancybox.open('#popup_box');
});

答案 1 :(得分:4)

对于fancybox 2:文档提供了以下示例: http://jsfiddle.net/STgGM/,我已经准备好了一份文件:

jQuery(document).ready(function($) {
    $.fancybox.open([
        {
            href : 'http://fancyapps.com/fancybox/demo/1_b.jpg',
            title : '1st title'
        },
        {
            href : 'http://fancyapps.com/fancybox/demo/2_b.jpg',
            title : '2nd title'
        }    
    ], {
        padding : 0   
    });
});

答案 2 :(得分:2)

$(document).ready(function() {
    $('#popup_box').fancybox().trigger('click'); 
});

source

答案 3 :(得分:2)

请参阅Fancybox popup once time for session

<script type="text/javascript" src="/js/jquery/jquery.cookie.js"></script>
<script type="text/javascript">

(function($) {

    function openFancybox() {
        // launches fancybox after half second when called
        setTimeout(function () {
                $.fancybox.open(
                    [
                        {
                            href : 'http://fancyapps.com/fancybox/demo/1_b.jpg',
                        }    
                    ]
                );
        }, 1500);
    };

    var visited = $.cookie('visited'); // create the cookie
    if (visited == 'yes') {
        return false; // second page load, cookie is active so do nothing
    } else {
        openFancybox(); // first page load, launch fancybox
    };
    // assign cookie's value and expiration time
    $.cookie('visited', 'yes', {
        expires: 1 // the number of days the cookie will be effective
    });

})(jQuery);
</script>

答案 4 :(得分:1)

虽然FancyBox不支持自动启动的方法,但有一些似乎非常成功的解决方法。我使用过的一个值得注意的方法是在下面的链接中提到类似的问题。这应该完成onPageLoad:

How to launch jQuery Fancybox on page load?

答案 5 :(得分:1)

我尝试了第一个解决方案:

window.jQuery(document).ready(function() {
    $.fancybox.open('#popup_box');
});

但是我无法使其正确加载,因此我添加了一个变量,然后将其传递给它。它完全按我的需要工作。现在有了滑块,而不是分别加载每个图像。

这是我的零钱

window.jQuery(document).ready(function() {
    var box = $('#popup_box');
    $.fancybox.open(box);
});

答案 6 :(得分:0)

 <head>   
<script type="text/javascript">

    function autoClick() { 
    document.getElementById('onload').click();
    } 

    </script>
</head>

<body onLoad="autoClick();">

<a class="fancybox-media" id="onload" href="https://www.youtube.com/watch?v=MWydLB0nFew"></a>