我有一个可以在另一个网站上运行的功能,但不知怎的,它不能使用我正在使用的这个(免费)模板。
主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();
}
};
}();