1
基本上,我想要做的是在我的页面的角落有一个淡入/淡出的弹出窗口。例如John Doe刚刚上网。我使用AJAX检查最新的更新,如果它们是新的,则显示弹出窗口。AJAX xmlhttprequest popup
显示弹出式窗口(使用jquery)的功能是:
function hidepop(){
$("#popup").fadeOut("slow");
}
function showpop(){
$("#popup").fadeIn("slow");
setTimeout("hidepop()",4000);
}
更新和显示弹出,如果有必要的代码,是:
function getHTTPObject(){
if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest) return new XMLHttpRequest();
else {
alert("Your browser does not support AJAX. Please download Google Chrome or Firefox.");
return null;
}
}
function checkUpdates(old){
httpObject = getHTTPObject();
var randomnumber=Math.floor(Math.random()*10000);
if (httpObject != null) {
link = "updates.php?rnd="+randomnumber;
httpObject.open("GET", link , true);
httpObject.onreadystatechange = function() {
if(httpObject.readyState == 4){
var response = httpObject.responseText;
var objDiv = document.getElementById("popup");
objDiv.innerHTML = response;
if(response == old){
var time = setTimeout(function(){checkUpdates(response); response = null},5000);
}else{
var objDiv = document.getElementById("popup");
objDiv.innerHTML = response;
showpop();
var time = setTimeout(function(){checkUpdates(response); response = null},5000);
}
}
}
}
}
然后,启动它全部关闭:
onload="checkUpdates('');"
身上的标签。
所以,我的问题是......没有任何反应。我知道显示弹出的作品,因为如果我调用showpop()它会显示。
这可能是一些愚蠢的错误,但是,请你给我一些想法/指示问题可能是什么以及如何解决它。
非常感谢, Calum。
不,这似乎并没有工作,哪里是“响应”变量从哪里来的感谢?您的帮助。 – CalumMc 2011-05-21 20:31:09
SRY,小的复制/粘贴错误:)固定它.. – TweeZz 2011-05-21 20:33:37
这奏效了!虽然我没有在初始的showpop()回来了,因为你的一个再不会淡出。非常感谢。 :) – CalumMc 2011-05-21 20:37:58