我的 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);
.
我希望能够将变量传递给函数,以便我可以更改该特定部分。我是 javascript 新手,所以我只会问此类问题一次。提前致谢。
$(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 - 使用函数清理我的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15502329/