使用函数清理我的javascript
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);
.
我希望能够传递一个变量给函数,这样我就可以改变特定的部分。我是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中的函数是这样的:
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);
}
}
相关文章:
- 我的javascript for循环不起作用
- 如何将我的javascript库公开给其他客户端使用
- 可以Resharper在我的javascript函数声明中添加分号
- 为什么我的JavaScript堆栈排序函数不起作用
- 页面在我的javascript执行后重新加载,我不希望它这样做
- MVC正在忽略我的Javascript文件
- 为什么我的javascript程序没有将其转换为整数而不是字符串
- 为什么我的JavaScript在Safari上的严格模式下不能正常工作
- 我的javascript太慢了
- 由于某种原因,我的JavaScript函数无法工作
- 为什么我的javascript脚本在页面加载时运行,而不是使用onclick
- 我的Javascript代码出错
- 为什么我的javascript和jquery源文件始终不加载
- AJAX:为什么不是't我的javascript与内容一起加载
- 为什么不是't我的javascript向Project Euler返回正确答案's排名第一
- 为什么当我在带有锚点的页面之间移动时,Rails不重新加载我的javascript文件
- Num doenst在我的javascript中工作
- 在我的JavaScript模块中绑定一个点击事件
- 为什么我的JavaScript函数没有返回选中的数组值
- 使用Ajax将我的Javascript变量传递给PHP