关于使用JS操作DOM遮盖层的显示和隐藏的问题

temjack 2018-06-06 03:59:09
最近做一个web的项目,需要在后台程序处理的时候在前端上遮盖层显示“加载中”这类的字样,但遇到个问题:
遮盖层只有当JS函数完成返回时才会被添加或隐藏,并不能做到程序处理前添加。函数的大概结构如下:
function demo(){
showLoading();//添加遮盖层
//程序处理doSomething
//
//
hideLoading();//隐藏遮盖层
}

通过F12工具调试函数是可以看到showLoading()被调用了的,但改写的DOM样式并没有反映到浏览器上,有什么方法可以做到需求的那样?
...全文
602 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2018-06-07
  • 打赏
  • 举报
回复
#3楼正解。。。。。。
temjack 2018-06-07
  • 打赏
  • 举报
回复
#3楼正解,结贴
哈哈gogo 2018-06-06
  • 打赏
  • 举报
回复
angularJs的一个$index问题 我动态添加一个元素,id用的是字符+$index,有一个问题是,当我remove前面一个元素时,再新添加的id会重复,这个怎么解决, 比如1,2,3,4,5,删除4,再添加,$index会是5这样两个id就重复了,会导致报错,这个怎么解决啊
  • 打赏
  • 举报
回复
把相关代码都贴出来,比如showLoading,程序处理doSomething
wcwtitxu 2018-06-06
  • 打赏
  • 举报
回复
function demo(){
	showLoading();//添加遮盖层
	// 让出线程
	setTimeout(function() {
		//程序处理doSomething
		//
		//
		hideLoading();//隐藏遮盖层
	}, 0);
	
}
Braska 2018-06-06
  • 打赏
  • 举报
回复
确保showloading方法有效。 程序处理是调用ajax吗,如果是的话 就把隐藏的方法写在ajax的回调函数上。
winzond 2018-06-06
  • 打赏
  • 举报
回复
在代码没有出错的情况下,一般不应该出现这样的问题,但有一种可能会出现这种问题,那就是doSomething执行的时间比showLoading执行的时间短,你加个计时器看看是不是这个原因,如果确定的话,可以看看https://bbs.csdn.net/topics/392265213

87,885

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧