当点击链接两次而不是一次时,Lightbox会激活

lightbox activates when clicking the link twice instead of once

本文关键字:一次 激活 Lightbox 链接 两次      更新时间:2023-09-26

我有一个奇怪的问题,我必须在一个链接(按钮)上点击两次而不是一次来激活灯箱事件,我不知道为什么。

这是我的代码,这是页面的预览,如果你会注意到,你必须点击两次手表按钮来激活灯箱事件。

(链接被删除,所以谷歌没有索引)

<script type="text/javascript">
    var $j = jQuery.noConflict();
    var src = '';
    $j(function()
    {
        $j("span#btnclick").click(function(event)
        {
            event.preventDefault();
            $j("a.watchbutton").nivoLightbox({
                effect: 'fade',
                afterShowLightbox: function()
                {
                    src = $j('.nivo-lightbox-content > iframe').attr('src');
                    $j('.nivo-lightbox-content > iframe').attr('src', src  +'?autoplay=1');
                }
            });
        });
    });
    </script>

这是因为您在click事件中定义了灯箱功能。因此,当您第一次单击时,灯箱功能被定义。第二次重新定义它,但在它工作之前,因为它已经定义了。

解决方案是从click事件中提取灯箱功能定义:
$j("span#btnclick").click(function(event){
    event.preventDefault();
});
$j("a.watchbutton").nivoLightbox({
    effect: 'fade',
    afterShowLightbox: function()
    {
        src = $j('.nivo-lightbox-content > iframe').attr('src');
        $j('.nivo-lightbox-content > iframe').attr('src', src  +'?autoplay=1');
    }
});