如何使用此功能处理我的模板

时间:2017-02-28 14:36:20

标签: javascript jquery html

我有一个可以在另一个网站上运行的功能,但不知怎的,它不能使用我正在使用的这个(免费)模板。

主js文件以某种方式将所有函数组合在一起,只需粘贴main.js文件中的代码就可以得到dropdown is not defined

我的功能:

dropdown = function(e){
    var obj = $(e+'.dropdown');
    var btn = obj.find('.btn-selector');
    var dd = obj.find('ul');
    var opt = dd.find('li');

    obj.on("mouseenter", function() {
        dd.show();
    }).on("mouseleave", function() {
        dd.hide();
    })

    opt.on("click", function() {
        dd.hide();
        var txt = $(this).text();
        opt.removeClass("active");
        $(this).addClass("active");
        btn.text(txt);
    });
}

然后在文件准备好的包裹中我打电话:

dropdown('#lang-selector');

对于以下HTML代码:

<div id="lang-selector" class="dropdown">
    <a href="index.php?lang=nl" class="btn-selector">NL</a>
    <ul>
        <li><a href="index.php?lang=en">EN</a></li>
        <li><a href="index.php?lang=nl">NL</a></li>
    </ul>
</div>

这是该模板中的一个工作函数:

// custom theme
var CustomTheme = function () {

    var _initInstances = function () {
        if ($('.vk-home-dark').length) {
            $('#scrollUp').addClass('inverse');
        }

    };

    return {
        init: function () {
            _initInstances();
        }
    };
}();

然后像这样调用:

$(document).ready(function(){
    PreLoader.init();
    CustomTheme.init();
    MediaPlayer.init();
});

我尝试通过在它之前添加var然后调用dropdown.init()来将dropdown转换为变量。但这给了我dropdown.init(); is not a function

如何让它像其他功能一样工作?

按要求预加载功能:

// preloader
var PreLoader = function () {
    var _initInstances = function () {
        $('.animsition').animsition({
            // loadingClass: 'loader',
            inDuration: 900,
            outDuration: 500,
            linkElement: 'a:not([target="_blank"]):not([href^="#"]):not([href^="javascript:void(0);"])',
        });
    };

    return {
        init: function () {
            _initInstances();
        }
    };
}();

0 个答案:

没有答案