在JQuery中显示隐藏问题 - CSS

时间:2014-11-07 10:45:28

标签: javascript jquery html css

这是我的HTML:

<div id="stage" >
<div id="stage_error" style="color:red;font-size:15px"></div>
<div id="stage_success" style="color:green;font-size:20px"></div>
</div>

这是我的JavaScript条件:

  if(data != '') 
  { 
  $('#stage_error').html(data); 
  } 
  else 
  {        
  $('#stage_success').text('Registered Succesfully').show(100);
  $('#stage_error').hide();
  $('#stage_success').hide(3000);
  }

场景1:

如果数据为空,则应显示成功消息 - #stage_success

场景2:

如果数据有任何值,则显示第一个div错误,然后一旦错误被清除,它应该在隐藏错误消息后显示成功消息#stage_error

问题:

我遇到的问题是,一旦显示成功#stage_success,然后由于隐藏了#stage_error,它就不会在屏幕上显示任何错误消息

我猜#toggle不是正确的方法。

以下是数据的价值:它从外部网页获取价值:

Object {BusNo: Array[1], CompID: Array[1], TotalSeats: Array[1]}

有什么方法可以处理这个吗?

2 个答案:

答案 0 :(得分:1)

从您的代码

我可以理解您正在处理一些ajax成功条件或验证条件 你可以用这种方式改变你的代码。

$('#stage_success, #stage_error').hide() // by default

if(data !== "" ){
      $('#stage_error').html(data).show();
} else {  
      $('#stage_success').text('Registered Succesfully').show(100);  
      $('#stage_error').html(''); 
      $('#stage_success').hide(3000);
}

答案 1 :(得分:0)

if(data != '') 
  { 
  $('#stage_error').html(data).show(); 
  } 
  else 
  {        
  $('#stage_success').text('Registered Succesfully').show(100);
  $('#stage_error').hide();
  $('#stage_success').hide(3000);
  }

通过添加show();

,只要在将新数据添加到其中时显示错误