[英]Cleanup my javascript using a function
我有JavaScript代码,几乎可以多次执行相同的操作。 有没有一种方法可以使此功能有所清除?
我想做成一个函数的两件事是:
亮()
$(VARIABLE).find('.info').fadeTo('fast', 1);
$(VARIABLE).find('img').fadeTo('fast', 1);
光()
$(VARIABLE).find('.info').fadeTo('fast', 0);
$(VARIABLE).find('img').fadeTo('fast', 0.8);
。
我希望能够将变量传递给函数,以便可以更改该特定部分。 我是Java语言的新手,所以我只会问这样的问题一次。 提前致谢。
$(document).ready(function(){
var subject;
$('.subject').mouseenter(function(){
if ( $(this).hasClass(subject) ) {
return 0;
}
else {
$(this).find('.info').fadeTo('fast', 1);
$(this).find('img').fadeTo('fast', 1);
}
});
$('.subject').mouseleave(function(){
if ( $(this).hasClass(subject) ) {
return 0;
}
else {
$(this).find('.info').fadeTo('fast', 0);
$(this).find('img').fadeTo('fast', 0.8);
}
});
$('.english-link').click(function(){
subject = 'english';
$('.english').find('.info').fadeTo('fast', 1);
$('.english').find('img').fadeTo('fast', 1);
});
$('.math-link').click(function(){
subject = 'math';
$('.math').find('.info').fadeTo('fast', 1);
$('.math').find('img').fadeTo('fast', 1);
});
$('.electives-link').click(function(){
subject = 'electives';
$('.electives').find('.info').fadeTo('fast', 1);
$('.electives').find('img').fadeTo('fast', 1);
});
$('.history-link').click(function(){
subject = 'history';
$('.history').find('.info').fadeTo('fast', 1);
$('.history').find('img').fadeTo('fast', 1);
});
$('.science-link').click(function(){
subject = 'science';
$('.science').find('.info').fadeTo('fast', 1);
$('.science').find('img').fadeTo('fast', 1);
});
$('.languages-link').click(function(){
subject = 'languages';
$('.languages').find('.info').fadeTo('fast', 1);
$('.languages').find('img').fadeTo('fast', 1);
});
});
采用:
$(VARIABLE).find('.info, img').fadeTo('fast', 1);
代替:
$(VARIABLE).find('.info').fadeTo('fast', 1);
$(VARIABLE).find('img').fadeTo('fast', 1);
通常可用于单击.english-link
, .math-link
等。
$('[class$=-link]').click(function(){
subject = $(this).attr('class').replace("-link","");
$('.'+ subject ).find('.info, img').fadeTo('fast', 1);
});
JavaScript中的函数如下所示:
function myFunction(myParameter, mySecondParameter)
console.log('You can now use data that was passed to the function through ' + myParameter);
}
var passAVariable = 5;
myFunction('passingastring',passAVariable);
尝试这个:
$('.languages-link').click(function(){
yourfunction('languages', true);
});
function yourfunction(subject, on){
if ( on ) {
$('.' + subject).find('.info, img').fadeTo('fast', 1);
} else {
$('.' + subject).find('.info').fadeTo('fast', 0);
$('.' + subject).find('img').fadeTo('fast', 0.8);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.