首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有jquery.tabSlideOut.v1.3.js的jquery.fancybox.js

带有jquery.tabSlideOut.v1.3.js的jquery.fancybox.js
EN

Stack Overflow用户
提问于 2013-11-28 02:43:27
回答 1查看 610关注 0票数 1

帮助!

在运行jquery.tabSlideOut.v1.3.js和fancybox时遇到问题。他们都在一起工作,但不在一起。

奇特的盒子在这里工作得很好,带有滑出的DIV注释掉了http://www.3d-flightcases.co.uk/sk-test/index2.php

但是当我为tabslideout添加DIV时,fancybox 'pop‘将不起作用

http://www.3d-flightcases.co.uk/sk-test/index1.php

me 50.00给任何能帮我解决这个问题的人:-)

EN

回答 1

Stack Overflow用户

发布于 2013-11-28 09:26:42

主要的问题是,除了非常旧的和不再维护的tabSlideOut插件之外,它不提供回调选项,因此您必须自己定制它们,以便在tabSlideOut初始化后初始化fancybox。

以下是为tabSlideOut插件创建自定义回调的一些说明:

1)。编辑您的tabSlideOut js文件。

在文件的开头查找以下行:

代码语言:javascript
复制
(function ($) {
    $.fn.tabSlideOut = function (callerSettings) {
        var settings = $.extend({
                tabHandle : '.handle',
                ... etc.
                onLoadSlideOut : false
            }, callerSettings || {});

在最后一个回调选项(onLoadSlideOut)之后添加您的回调选项(在我的示例中是fancyCallback),如下所示:

代码语言:javascript
复制
(function ($) {
    $.fn.tabSlideOut = function (callerSettings) {
        var settings = $.extend({
                tabHandle : '.handle',
                ... etc.
                onLoadSlideOut : false, //<= notice a comma here
                fancyCallback : function () {} // new setting: custom fancybox callback by picssel.com
        }, callerSettings || {});

2)。创建要由fancyCallback选项返回的函数(上面刚刚添加)。

滚动到tabSlideOut js文件的末尾,找到以下行:

代码语言:javascript
复制
(function ($) {
    $.fn.tabSlideOut = function (callerSettings) {
        ....
        .... etc.
        if (settings.action === 'hover') {
            hoverAction();
        }
        if (settings.onLoadSlideOut) {
            slideOutOnLoad();
        };
    }; // closes $.fn.tabSlideOut
})(jQuery);

在结束$.fn.tabSlideOut函数的花括号之前,添加fancybox回调函数,如下所示:

代码语言:javascript
复制
(function ($) {
    $.fn.tabSlideOut = function (callerSettings) {
            ....
            .... etc.
        if (settings.action === 'hover') {
            hoverAction();
        }
        if (settings.onLoadSlideOut) {
            slideOutOnLoad();
        };
        // fancybox callback init by picssel.com
        // iterates through every fancybox selector to create a manual gallery
        if (settings.fancyCallback) {
            var fancygallery = [];
            $(this).find(".fancybox").each(function (i) {
                fancygallery[i] = {
                    href : this.href,
                    title : this.title
                };
                $(this).click(function () {
                    $.fancybox(fancygallery, {
                        // fancybox API options here
                        index : i // this is important
                    });
                    return false;
                });
            });
        } /* END fancybox callback init by picssel.com */           
    }; // closes $.fn.tabSlideOut
})(jQuery);

3)。将fancyCallback选项添加到自定义tabSlideOut的初始化中,并将其设置为true,如下所示:

代码语言:javascript
复制
jQuery(document).ready(function ($) {
    $('.slide-out-div').tabSlideOut({
        // API options
        tabHandle : '.handle', //class of the element that will be your tab
        ... etc.
        onLoadSlideOut : true, //<= notice comma here
        fancyCallback : true //<= initialize fancybox
    });
});

参见,其中包括自定义的tabSlideOut回调。

注释:我在这个演示中使用的是fancybix v2.x,但是使用正确的API选项,它应该可以与v1.3.x无缝地工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20250512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档