使用EasyUI时,有个常常遇到的问题。页面还没有渲染完毕的时候,就展现了。
刚刚開始非常混乱。等载入完毕后。就好了。
參考这篇文章http://blog.csdn.net/zheng0518/article/details/12287801 搞定了。
$.parser.onComplete,这个是在全部组件解析完毕后运行的事件。
事实上这个事件非常实用的。非常多在布局用到easyui的时候总会出现一个问题。就是在一进入主界面的时候,页面的并非立即就展现,而是会有一个混乱的过程,之后一闪就又好了。
事实上这个就是由于easyui是在dom载入完毕之后才会对整个页面进行解析。当你们布局和组件使用的比較多的时候,完整的解析组件就须要一个过程。而在这个过程中就会出现短暂的界面混乱现象。
要解决问题事实上仅仅要好好利用这个onComplete 事件在结合一个载入遮罩就解决问题了。
把须要这个动画效果的,放到一个页面中去。
<#include "common/loadingDiv.html"/>(Freemarker的include语法。模版用的.html后缀)
loadingDiv.html
<div id='loadingDiv' style="position: absolute; z-index: 1000; top: 0px; left: 0px; 100%; height: 100%; background: white; text-align: center;"> <h1 style="top: 48%; position: relative;"> <font color="#15428B">努力载入中···</font> </h1> </div>
<script type="text/javascript"> function closeLoading() { $("#loadingDiv").fadeOut("normal", function () { $(this).remove(); }); } var no; $.parser.onComplete = function () { if (no) clearTimeout(no); no = setTimeout(closeLoading, 1000); } </script>