私はこのスクリプトを合理化しようとしています。私はこれらの文のうちの50個を持っているので、if/else文を二重に入れ子にするのはばかげているようですが、私が作った他の試みはうまくいきません。if-else文が多すぎます。彼らはグローバル化することができますか?
最初のif/else文if(e.keyCode == 66 && e.shiftKey)
が必要ですが、あまりにも多くの文字が一定の幅を基準にして入力された場合、警告をスローしている第2のif (typedAdjusted >= paperWidth % charWidth)
についてはわかりません。
機能if (typedAdjusted >= paperWidth % charWidth)
は私をグローバルにすることができますか?それは特定のkeyCodesに対してチェックされる必要があります。たとえば、 "B"という文字はtypedAdjustedになりますが、BACKSPACEとTABとCOMMANDは使用しないでください。
var typed = $("span.char").length;
var typedAdjusted = typed+1;
var paperWidth = 900;
var charWidth = 44;
if (e.keyCode == 66) {
if (e.keyCode == 66 && e.shiftKey) {
$('#charLine-1').append('<span class="char">B</span>');
if (typedAdjusted >= paperWidth % charWidth) {
$('body').append('<span id="warning">WARNING!</span>');
}
else {
return false;
}
}
else {
$('#charLine-1').append('<span class="char">b</span>');
if (typedAdjusted >= paperWidth % charWidth) {
$('body').append('<span id="warning">WARNING!</span>');
}
else {
return false;
}
}
}
'mychar = e.shiftKey? mychar = 'B':mychar = 'b'; 'ちょっと冗長であるようです:P –
@MarkSchultheissこれは私が行くはずのようですが、動作していないようです - http://jsbin.com/owaraw/ 2 – pardon
私の愚かな高速入力の構文を修正しました:)サンプル:http://jsfiddle.net/MarkSchultheiss/6Svcb/ –