我在互联网上看过这么多次.人们说不要在编程语言中重复自己.我为我的网页编写了这个脚本,但我重复了一遍.
这真的很重要吗?
我应该做一个功能吗?
我该怎么做?
var active = '.teachers';
var disabled = '.teacher-link';
var width = $('.teachers .staff-outer-container').children().size() * 180;
$('.staff-outer-container').css('width', width + 'px');
$('.teacher-link').click(function() {
if (active != '.teachers') {
$(active).hide();
active = '.teachers';
$(active).show();
width = $('.teachers .staff-outer-container').children().size() * 180;
$('.teachers .staff-outer-container').css('width', width + 'px');
$(disabled).removeClass('active').addClass('clickable');
disabled = this;
$(disabled).removeClass('clickable').addClass('active');
$('#type').text('Teachers');
}
});
$('.admin-link').click(function() {
if (active != '.administrators') {
$(active).hide();
active = '.administrators';
$(active).show();
width = $('.administrators .staff-outer-container').children().size() * 180;
$('.administrators .staff-outer-container').css('width', width + 'px');
$(disabled).removeClass('active').addClass('clickable');
disabled = this;
$(disabled).removeClass('clickable').addClass('active');
$('#type').text('Administrators');
}
});
$('.support-link').click(function() {
if (active != '.support') {
$(active).hide();
active = '.support';
$(active).show();
width = $('.support .staff-outer-container').children().size() * 180;
$('.support .staff-outer-container').css('width', width + 'px');
$(disabled).removeClass('active').addClass('clickable');
disabled = this;
$(disabled).removeClass('clickable').addClass('active');
$('#type').text('Support Staff');
}
});
Run Code Online (Sandbox Code Playgroud)
编辑
感谢大家的投入!我对如何实现这些功能感到困惑.这就是我得到的:$('.teacher-link').click(handle_click('.teachers', 'Teachers'));我尝试了这个,它没有用.我在哪里放置功能?我把它放在里面还是外面$(document).ready?是否最好将函数放在脚本的开头或结尾?
您可以构建这样的函数,并将其称为:
handle_click('.teachers', 'Teachers'); handle_click('.adminstrators', 'Administrators'); 功能:
function handle_click(target, target_text) {
if (active != target) {
$(active).hide();
active = target;
$(active).show();
width = $(target + ' .staff-outer-container').children().size() * 180;
$(target + ' .staff-outer-container').css('width', width + 'px');
$(disabled).removeClass('active').addClass('clickable');
disabled = this;
$(disabled).removeClass('clickable').addClass('active');
$('#type').text(target_text);
}
}
Run Code Online (Sandbox Code Playgroud)
"这是一件大事吗?"
Personaly我认为,如果你在截止日期之后几个小时,并且需要尽快发布内容,你可以保持凌乱和冗余的代码 - 但前提是它会被重构.问题是,一旦代码发布,没有人会查看并重构它,除非它被破坏或产生错误.
看看你的代码 - 如果有人决定一个新功能将生成动态对象并使用这些函数处理它们,使用循环和东西会怎么样?使用您的代码这是不可能的,毕竟您需要自动化.那么为什么不首先让它正确呢?我认为,如果发生了不好的事情,那么自动制作代码的时间会比修复代码花费的时间少.
| 归档时间: |
|
| 查看次数: |
1337 次 |
| 最近记录: |