【发布时间】:2017-08-07 15:27:46
【问题描述】:
使用 DRY 方法,我想知道缩短此代码的最佳方法是什么。在我看来,那里的重复太多了。
function back(){
$('.back').click(function(){
if($(this).hasClass('back_3')){
$('.screen3').addClass('hidden');
$('.screen1').removeClass('hidden');
}else if ($(this).hasClass('back_2')){
$('.screen2').addClass('hidden');
$('.screen1').removeClass('hidden');
}else if($(this).hasClass('back_4')){
$('.screen4').addClass('hidden');
$('.screen3').removeClass('hidden');
}else if($(this).hasClass('back_5')){
$('.screen5').addClass('hidden');
$('.screen3').removeClass('hidden');
}else if($(this).hasClass('back_6')){
$('.screen6').addClass('hidden');
$('.screen3').removeClass('hidden');
}
});
}
【问题讨论】:
-
for循环看起来足够了 ... -
在发布之前还包括相关的html结构
-
我在这里没有看到强烈的模式。是什么决定了该类删除了哪个元素?此外,如果您制作一个可运行的示例并将其发布在 Code Review 上可能会更好。该站点主要用于修复损坏的代码。
-
假定的逻辑是什么?很难识别一种模式...
标签: javascript jquery dry