【发布时间】:2012-09-07 09:29:37
【问题描述】:
我对 JavaScript 和 JQuery 世界还很陌生,所以我的代码结构仍然在那里。我知道有一些编写方法可以减少对性能的压力,从而使您的程序运行得更快。
我已经研究了实现这一目标的各种方法,但不知道如何将其应用于我所拥有的东西。我正在寻找堆栈溢出来帮助向我展示一些关于使我的代码在结构上更合理的建议。
console.log(wordIsCorrect);
console.log($('.drop-box.spellword').length);
if ($('.drop-box.spellword').length == wordIsCorrect) {
$('.drop-box.spellword').addClass('wordglow2');
$(right).val('Well Done!');
$(right).show();
audioS.play();
$('.counter').html(completeWords + '/6').show();
$(wrong).hide();
$('.minibutton').prop('disabled', false);
var completeLetters = $('.wordglow2').length;
var completeWords = (completeLetters / 3);
$('.counter').html(completeWords + '/6');
if (completeWords == 3) {
$('table').fadeOut(2000);
}
var incompleteWords = $('.spellword').hasClass('.wordglow4').length;
if (incompleteWords == 3) {
$('.minibutton').prop('disabled', false);
}
} else {
$('.drop-box.spellword').addClass("wordglow4").css('color', 'transparent');
$(wrong).val('Try Again');
$('.minibutton').prop('disabled');
$(wrong).show();
audioF.play();
$('.counter').html(completeWords + '/6').show();
$(right).hide();
$('.drop-box.spellword').animate({
'opacity': 1
}, 1000, function() {
$(this).removeClass('wordglow4').removeClass('occupied').html('')
});
}
这是我代码中的 if 语句之一。我知道我应该单独分解每个任务,但我不知道从哪里开始。
谁能指出我正确的方向,以便我可以开始处理我的其余代码。谢谢!
【问题讨论】:
-
我会先缓存你的对象以防止不必要地构造 jQuery 对象。
-
你能举个例子吗? @搅拌机
-
这段代码是在 for 循环中运行的还是什么?
-
我不确定您是否能够提高脚本的性能,但您可以将代码拆分为多个函数以获得更好的可读性。
-
例如,您多次使用
$(wrong)。将其放入变量中:var $wrong = $(wrong);。现在,您的对象在一个变量中,您可以使用$wrong代替$(wrong)(在JS 中,$是一个有效的变量名称字符。没什么特别的)。
标签: javascript jquery