我在块中为各种元素重复了这些“功能”。 如何简化使用“var”?
谢谢你:)例如:
$('#test1').waypoint(function (direction) {
if (direction === 'down') {
$(this).addClass("here");
$(this).prevAll().removeClass("here");
$(this).prev().prev().addClass("here_pre");
$(this).next().next().addClass("here_pre");
},
});
我想找到一个像这样的解决方案:
var active_here = $(this).addClass("here"),
$(this).prevAll().removeClass("here"),
$(this).prev().prev().addClass("here_pre"),
$(this).next().next().addClass("here_pre");
最后回忆起这样的事情:
$('#test1').waypoint(function (direction) {
if (direction === 'down') {
active_here;
},
});
$('#test2').waypoint(function (direction) {
if (direction === 'up') {
active_here;
},
});
etc... etc... etc...
答案 0 :(得分:0)
为什么不做一个函数然后只调用函数内部的函数?
function active_here(this) {
//code here..
}
答案 1 :(得分:0)
Javascript变量函数(或者也可以声明为普通函数):
var active_here = function($elem){
$elem.addClass("here");
$elem.prevAll().removeClass("here");
$elem.prev().prev().addClass("here_pre");
$elem.next().next().addClass("here_pre");
}
通话:
$('#test1').waypoint(function (direction) {
if (direction === 'down') {
active_here($(this));
},
});
$('#test2').waypoint(function (direction) {
if (direction === 'up') {
active_here($(this));
},
});