settimeout和scrolling的问题

时间:2014-09-11 17:16:12

标签: javascript html scroll settimeout

我对编码世界有些新意,我(可能是愚蠢地)决定让我的朋友为生日礼物选择你自己的冒险游戏。简而言之,我遇到了一个问题,需要时间延迟来让用户有时间阅读文本并向下滚动页面,因为窗口不会滚动。我最终尝试使用.settimeout()来创建设置延迟,但问题是settimeout本身在执行此操作后运行的代码,导致用户的排序结束。它看起来像这样:

  //A bunch of text and story up here 

  window.setTimeout( function () { 'prompt to get variable for if statement' }, delay );

  if(true)
    { //code to run}
  else
   {//code to run}

接下来是其他一些提示及其相应的if / else语句。

我假设代码在延迟发生时正在运行,我想知道是否存在更好的方法。我知道Javascript中没有暂停功能,但我认为必须有一些方法允许用户在弹出另一个提示之前向下滚动。谢谢。

2 个答案:

答案 0 :(得分:0)

if-else语句将立即运行。你应该把它放在你的setTimeout函数中,如下所示:

//A bunch of text and story up here 

window.setTimeout( function () {
  //do some magic



  if(true)
    { //code to run}
  else
   {//code to run}
}, delay );

答案 1 :(得分:0)

试试这个:

var donext = false;
window.setTimeout( function() {
  donext = true;
}, delay);

if(donext)
{ //code to run}
else
{ //code to run}