Javascript仅适用于alert();

时间:2015-07-17 22:07:45

标签: javascript jquery html

如果我在其间使用alert();,我的代码就可以完美运行。但如果我不使用它,那么// alert()之后的部分;没有被执行。

function playerleer() {
  $('#pplay').css('background', 'url("images/play.png")');
  $('#player').get(0).pause();
  $('#player').attr('src',null);
  $('.song').html(null);
  alert();
  $('#seekslider').val(0);
  $('#curtimetext').html('0:00');
  $('#durtimetext').html('0:00');
}

我该怎么办?

感谢任何回应:)

2 个答案:

答案 0 :(得分:2)

Janik您是否尝试过使用chrome调试器或javascript调试器?

基本上如果你在脚本中输入调试器就像这样

function playerleer() {
  $('#pplay').css('background', 'url("images/play.png")');
  $('#player').get(0).pause();
  $('#player').attr('src',null);
  $('.song').html(null);
  debugger;
  $('#seekslider').val(0);
  $('#curtimetext').html('0:00');
  $('#durtimetext').html('0:00');
}

只要您在运行javascript时打开浏览器调试器(f12),控制台就会点击调试器并暂停,在那里您可以查看变量然后一步一步地执行,或者您可以做的是打开谷歌浏览器,按f12键,转到源,找到您的脚本,然后单击要调试的行

以下是一张图片,例如enter image description here此处还有Chrome调试器教程的链接https://developer.chrome.com/devtools/docs/javascript-debugging

答案 1 :(得分:1)

你可以延迟分成两部分。这可能有效,因为alert()具有暂停代码的副作用,直到您确认警报。

不幸的是,Javascript没有自然的暂停或睡眠方式,但您可以设置闹钟以使用setTimeout回调一些代码。在setTimeout中,1000 = 1秒。您可能需要尝试延迟值以使其足够长并且可能因浏览器等而异:

function playerleerpart2(){
  $('#seekslider').val(0);
  $('#curtimetext').html('0:00');
  $('#durtimetext').html('0:00');
}

function playerleer() {
  $('#pplay').css('background', 'url("images/play.png")');
  $('#player').get(0).pause();
  $('#player').attr('src',null);
  $('.song').html(null);
  setTimeout(playerleerpart2, 1000);
}

如果您想更好地了解正在发生的事情,可以像这样使用console.log()

 function playerleer() {
  $('#pplay').css('background', 'url("images/play.png")');
  $('#player').get(0).pause();
  $('#player').attr('src',null);
  $('.song').html(null);
  // uncomment and test again alert();
  console.log('#seekslider');
  console.log($('#seekslider'));
  console.log('#curtimetext');
  console.log($('#curtimetext'));
  console.log('#durtimetext');
  console.log($('#durtimetext');
  $('#seekslider').val(0);
  $('#curtimetext').html('0:00');
  $('#durtimetext').html('0:00');
}

在调用方法之前,应先定义这些对象。