div的style.visibility在程序中不起作用的奇怪问题 建议用display :obj.style.display="none" 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看你的IP是局域网吧,速度太快没看出来吧(你说了,改变前alert是能看到的,说明确实修改可见性了) 我说了我试过display了 一样的问题 我这个request处理的时间比较长 最少有3-5秒时间 修改为visible之前如果alert(document.getElementById("div1").style.visibility)一下 接着div1就会显示出来 然后ajax处理完后隐藏 如果没有alert就不行 也就是说后面这一句没问题 后来我试了先隐藏后显示 一样是在开始的时候不能隐藏 alert后可以 很奇怪 分别改为:setTimeout("document.getElementById('div1').style.visibility='visble';", 50);setTimeout("document.getElementById('div1').style.visibility='hidden';", 50); document.getElementById("div1").style.visibility="visble"; 应该是 visible吧 笔误 那行我删了刚才自己写的 肯定不是速度太快的问题 我说了我ajax处理request最少要3-5秒时间 处理之前显示 处理完成后才隐藏我alert也是在修改visibility为visible之前 把document.getElementById("div1").style.visibility="visble"; 放到if (req.readyState == 4) {的else里试试。 改成异步就行了 req.open("POST", url, false); req.open("POST", url, true); var req = getXMLHttpRequest(); req.open("POST", url, false); req.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); req.onreadystatechange=function() { try{ if (req.readyState == 4) { if (req.status == 200) { var text=req.responseText; ... document.getElementById晕,刚才都没注意你这里有错 req.open("POST", url, false); 用这个无法使用req.onreadystatechange等所以改成req.open("POST", url, true); 之前一直没注意用的是同步模式,确实改为异步模式放在哪都可以了不过我还是很费解为什么同步模式下有这样的问题,按流程来说修改visibility属性的时候还没开始request发送,为什么和ajax有关系呢 哈,我也一直没注意,不过同步模式这样用也不影响,方法还是会执行的。我现在只是奇怪我在第一次修改visibility属性为visible的时候还不涉及ajax,为什么同步异步模式会影响到他。先给分吧。 当然影响了!!你自己多试几个同步和异步的效果你就知道了req.readyState 你同步的话这个会出错的给你看之前别人问的例子 http://topic.csdn.net/u/20081111/10/03bdbd4a-6016-4725-bf7f-f96077fb0614.html 不影响的后面语句的执行同步是等待返回responseText后才继续执行 异步只不过不等待就继续了这个是ajax的问题,已经有点跑题了:) 倒,不跑题啊你的这个本来就是AJAX的方式影响了啊 不啊 我第一次修改visibility属性为visible的时候是在定义XML之前,还不涉及ajax但是这时候修改为visible就已经不管用了。后面onreadystatechange方法里的visibility一直都没有问题可以正常控制显示隐藏。 求教ext中的panel怎么才能折叠的时候向下收缩 域名间的 cookies 问题? location.href和document.location的区别? td里的input被onclick后,该td的背景颜色随之改变。如何实现? 如何将某个SELECT的值选中 IE到底知不知道其实getElementById和getElementsByName是有区别地。 怎么控制对话框自动上升 如何控制一个窗口最小化,而且它的高,宽都是0(NS4.78,NS6.2要能通过.) 急,在线等待(关于iframe的问题。) js与xml的问题 正则想后因用。 图片预览问题
后来我试了先隐藏后显示 一样是在开始的时候不能隐藏 alert后可以 很奇怪
setTimeout("document.getElementById('div1').style.visibility='visble';", 50);
setTimeout("document.getElementById('div1').style.visibility='hidden';", 50);
visble";应该是 visible吧
肯定不是速度太快的问题 我说了我ajax处理request最少要3-5秒时间 处理之前显示 处理完成后才隐藏
我alert也是在修改visibility为visible之前
放到if (req.readyState == 4) {
的else里试试。
req.open("POST", url, false);
req.open("POST", url, true);
req.open("POST", url, false);
req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
req.onreadystatechange=function() {
try{
if (req.readyState == 4) {
if (req.status == 200) {
var text=req.responseText;
...
document.getElementById
晕,刚才都没注意
你这里有错 req.open("POST", url, false); 用这个无法使用req.onreadystatechange等所以改成req.open("POST", url, true);
不过我还是很费解为什么同步模式下有这样的问题,按流程来说修改visibility属性的时候还没开始request发送,为什么和ajax有关系呢
哈,我也一直没注意,不过同步模式这样用也不影响,方法还是会执行的。
我现在只是奇怪我在第一次修改visibility属性为visible的时候还不涉及ajax,为什么同步异步模式会影响到他。
先给分吧。
你自己多试几个同步和异步的效果
你就知道了
req.readyState 你同步的话这个会出错的
给你看之前别人问的例子
同步是等待返回responseText后才继续执行 异步只不过不等待就继续了
这个是ajax的问题,已经有点跑题了:)
后面onreadystatechange方法里的visibility一直都没有问题可以正常控制显示隐藏。