Javascript jQuery:每60秒显示一次消息

Javascript jQuery:每60秒显示一次消息,javascript,jquery,Javascript,Jquery,用户可以向文本区域添加一些文本。每隔60秒,文本就会保存到数据库中 我需要一条显示“文本已保存”3秒钟并再次隐藏的消息。间隔应为60秒。消息应显示在文本区域上方,但仅当文本区域中有文本时显示 我试过: function autoSaveEntry() { if($('#txtarea').val().length>0){ $('#message').append('Text is saved'); setTimeout(function () { $('#m

用户可以向文本区域添加一些文本。每隔60秒,文本就会保存到数据库中

我需要一条显示“文本已保存”3秒钟并再次隐藏的消息。间隔应为60秒。消息应显示在文本区域上方,但仅当文本区域中有文本时显示

我试过:

function autoSaveEntry() {
  if($('#txtarea').val().length>0){
    $('#message').append('Text is saved');
    setTimeout(function () {
      $('#message').fadeOut(function(){});
    }, 3000);
  }
  setTimeout(autoSaveEntry, 60000)
}
HTML


有很多问题,其中很多都是简单的打字错误:

  • 你的“txtara”想法拼写为“txtara”
  • 邮件ID在HTML中有一个#
  • 在淡出消息框后,您从未显示过它
  • 最初没有任何东西可以触发函数的运行(它只被自己调用)
  • 您的函数不断地将相同的文本附加到#消息上,而不是替换它
下面是一个更正的版本(演示时间大大减少,否则与您现有的代码类似):

函数autoSaveEntry(){
console.log($('#txtarea').val())
if($('#txtarea').val().length>0){
$('#message').text('文本已保存').show();
setTimeout(函数(){
$(“#消息”).fadeOut();
}, 1000);
}
}
设置间隔(autoSaveEntry,5000)

有很多问题,其中很多都是简单的打字错误:

  • 你的“txtara”想法拼写为“txtara”
  • 邮件ID在HTML中有一个#
  • 在淡出消息框后,您从未显示过它
  • 最初没有任何东西可以触发函数的运行(它只被自己调用)
  • 您的函数不断地将相同的文本附加到#消息上,而不是替换它
下面是一个更正的版本(演示时间大大减少,否则与您现有的代码类似):

函数autoSaveEntry(){
console.log($('#txtarea').val())
if($('#txtarea').val().length>0){
$('#message').text('文本已保存').show();
setTimeout(函数(){
$(“#消息”).fadeOut();
}, 1000);
}
}
设置间隔(autoSaveEntry,5000)

更正后的代码如下所示:

HTML:

<div id="message"></div>
<textarea id="txtarea"></textarea>

脚本:

  setInterval(autoSaveEntry, 60000);

function autoSaveEntry() {
  if($('#txtarea').val().length>0){
    $('#message').append('<label>Text is saved</label>');
      setTimeout(function () {
      $('#message').fadeOut(function(){});
    }, 3000);
  }
}
setInterval(autoSaveEntry,60000);
函数autoSaveEntry(){
if($('#txtarea').val().length>0){
$('#message')。追加('文本已保存');
setTimeout(函数(){
$('#message').fadeOut(function(){});
}, 3000);
}
}

更正后的代码如下所示:

HTML:

<div id="message"></div>
<textarea id="txtarea"></textarea>

脚本:

  setInterval(autoSaveEntry, 60000);

function autoSaveEntry() {
  if($('#txtarea').val().length>0){
    $('#message').append('<label>Text is saved</label>');
      setTimeout(function () {
      $('#message').fadeOut(function(){});
    }, 3000);
  }
}
setInterval(autoSaveEntry,60000);
函数autoSaveEntry(){
if($('#txtarea').val().length>0){
$('#message')。追加('文本已保存');
setTimeout(函数(){
$('#message').fadeOut(function(){});
}, 3000);
}
}

你的问题是什么?它不起作用,我不知道你为什么会考虑保存它,如果文本改变了你的问题?它不起作用,我不知道为什么你可以考虑只保存它,如果文本改变,也可能是“密钥”。事件,该事件将监视是否正在进行活动键入,但字段未失去焦点。yetI不认为您希望在每次击键时都将更改写入数据库。可能还有“keyup”事件,该事件将监视是否正在进行活动键入,但字段未失去焦点。yetI不认为您希望在每次击键时都将更改写入数据库。