javascript - 使用函数清理我的 javascript

标签 javascript jquery 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);

.

我希望能够将变量传递给函数,以便我可以更改该特定部分。我是 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/

相关文章:

javascript - 网络音频 : Oscillating AudioBufferSource playbackRate

javascript - jwPlayer onComplete 事件未触发(跨域嵌入)

javascript - 显示最终结果的分步表格

javascript - 当我将文件加载到 div 时,div 会向下跳

jquery - 无法加载资源: Preflight response is not successful

javascript - 如何使用javascript检测url格式?

c - 为什么我在引用来自不同函数的一行时会出现此编译器错误?

javascript - 在浏览器中查看时,R 中的 Dygraphs 不显示颜色

Mysql统计行数函数

php - 如何将 php var 传递给 js 文件中定义的函数