【问题标题】:Custom button for fancy box花式盒子的自定义按钮
【发布时间】:2018-03-01 20:19:24
【问题描述】:

我想在幻灯片放映、全屏、关闭等旁边添加一个新按钮。 我需要为该按钮附加一个点击事件,以便它为我提供当前显示的图像的 src。

【问题讨论】:

    标签: javascript jquery fancybox-3


    【解决方案1】:

    好吧,我用谷歌搜索了几次,但没有找到好的解决方案,我最终这样做了,它有效!

    我需要它是在我的幻想框中添加一个删除按钮。

    添加新按钮:

    $.fancybox.defaults.btnTpl.delete = '<button data-fancybox-delete class="fancybox-button fancybox-button--delete" title="title of the icon">put your svg icon or whatever here..</button>';
    

    使用新创建的按钮:

    $.fancybox.defaults.buttons = [
            'slideShow',
            'fullScreen',
            'thumbs',
            'delete', // this one is the new button
            'close'];
    

    并附加点击事件并获取触发fancybox的标签(我在该标签上有数据ID,因此我可以向服务器发送xhr请求以删除该照片)

    $('body').on('click', '[data-fancybox-delete]', function(e) {
          var src = $('.fancybox-slide--current .fancybox-image').attr('src'); // src of the currently showing slide
          var idx = $('a[href="'+src+'"]')[0]; // My Tag
    
    });
    

    获取当前照片的 src 和元素的另一种方法(感谢 cmets 中的@Janis)

    $('body').on('click', '[data-fancybox-delete]', function(e) {
          var src = $.fancybox.getInstance().current.src;
          var idx = $.fancybox.getInstance().current.opts.$orig;               
    });
    

    希望它也对其他人有所帮助。

    【讨论】:

    • 获取当前图像“src”的更简单方法 - $.fancybox.getInstance().current.src;点击元素 - $.fancybox.getInstance().current.opts.$orig
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 2015-03-20
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 2012-10-05
    相关资源
    最近更新 更多