Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX拉后的FadeIn DIV_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript AJAX拉后的FadeIn DIV

Javascript AJAX拉后的FadeIn DIV,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一些讨厌的代码:p,它使用AJAX更新div,但我希望看到fadein的效果。问题是,我有一个图像,在div尚未显示任何内容的时间间隔内加载并显示。分析它的底部。我能做些什么使它褪色 function testing(str) { var xmlhttp; if (str=="") { document.getElementById("myDiv").innerHTML=""; return; } if (window.XMLHttpRequest) {// code f

我有一些讨厌的代码:p,它使用AJAX更新div,但我希望看到fadein的效果。问题是,我有一个图像,在div尚未显示任何内容的时间间隔内加载并显示。分析它的底部。我能做些什么使它褪色

function testing(str)
{
var xmlhttp;
if (str=="")
  {
  document.getElementById("myDiv").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {

    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
$('#myDiv').html('<div style="text-align:center; padding-top:195px;"><img src="../images/loaderajax.gif" width="220" height="19" /></div>');
xmlhttp.open("GET","getuser.php?q="+str,true);
$('#myDiv').hide();
xmlhttp.send();
$('#myDiv').fadeIn();
}
功能测试(str)
{
var-xmlhttp;
如果(str==“”)
{
document.getElementById(“myDiv”).innerHTML=“”;
返回;
}
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“myDiv”).innerHTML=xmlhttp.responseText;
}
}
$('#myDiv').html('');
open(“GET”、“getuser.php?q=“+str,true”);
$('#myDiv').hide();
xmlhttp.send();
$('#myDiv').fadeIn();
}

在ajax调用中,您的代码都很古怪,而且不正常。您正在使用JQuery,所以请充分利用它!:)

$.ajax({
url:'getuser.php',
数据:str,
发送前(jqXHR,设置){
$('#myDiv').html('');
},
错误:函数(jqXHR、textStatus、errorshown){
$('#myDiv').html(textStatus+'--'+errorshorn);
},
成功:功能(数据){
$('#myDiv').hide().html(data.fadeIn();
}
});
将fadein()调用放入处理响应的代码中


您为什么要将jQuery用于选择器和效果而不是AJAX?

如果您对包装返回的内容没有意见,我会在AJAX响应中这样做:

$("<div/>").html(xmlhttp.responseText).appendTo("#myDiv").hide().fadeIn();
$(“”).html(xmlhttp.responseText).appendTo(“#myDiv”).hide().fadeIn();

这将允许您的图像在新内容中显示且仅淡入淡出。

您使用的是jquery,为什么不将其用于所有内容?如果你只使用jquery,AJAX会更干净。你不使用jquery的AJAX功能有什么原因吗?当时我没有使用任何框架(jquery),只是学习JS,我会很快重新编写代码。它可以工作,但不允许加载图像出现:非常感谢,作为最后一个资源,我将使用此代码并忘记加载图像。加载图像显示在
beforeSend
调用中。如果速度太快,我想这是件好事;)你确定代码能用吗?因为中间有一个GET方法:xmlhttp.open(“GET”,“getuser.php?q=“+str,true”);是的,JQuery的
$.ajax()
的默认
类型是
GET
:但是如何通过函数调用定义srt变量呢?ajax(str);?当时我没有使用任何库,只是学习javascript。我将很快重新编写代码。实际上,这行代码不起作用,但感谢您的提示,它起作用了:
$(“#myDiv”).html(xmlhttp.responseText.hide().fadeIn()
$("<div/>").html(xmlhttp.responseText).appendTo("#myDiv").hide().fadeIn();