PennController for IBEX › Forums › Support › varying word presentation depending on length › Reply To: varying word presentation depending on length
Hi Yana,
I think you’re doing the right thing inserting your code in the wordPauseTimeout function, but when I open the js file I see that line 152 is part of the wordTimeout function, so I just want to make sure you’re editing the right function.
However I’m afraid that directly modifying t.wordTime will cause problems after encountering the first over-12-character word, because the subsequent words will inherit the extra duration. Here is how I rewrote the whole if statement, and it seems to be working smoothly:
if (this.mode == "speeded acceptability") { var t = this; function wordTimeout() { t.blankWord(t.currentWord); ++(t.currentWord); if (t.currentWord >= t.stoppingPoint) t.finishedCallback([[["Sentence (or sentence MD5)", t.sentenceDesc]]]); else t.utils.setTimeout(wordPauseTimeout, t.wordPauseTime); } function wordPauseTimeout() { t.showWord(t.currentWord); t.utils.clearTimeout(wordPauseTimeout); let duration = t.wordTime; if (t.words[t.currentWord].length > 12) { var extraTime = (t.words[t.currentWord].length - 12) * 200; duration += extraTime; } t.utils.setTimeout(wordTimeout, duration); } wordPauseTimeout(); }
I used 200 so I could clearly tell when the extra time was added to the normal display time. For reference, here are the parameters I used to test the DashedSentence:
{ s: "Extralongitudinal is not a word that makes much anticonstitutional sense", wordTime: 250, mode: "speeded acceptability" }
Jeremy