顺序加载 执行 1、加载脚本2、显示IDV3、赋值 4、显示DIV新的值因为加载比较快 看到的效果就是直接显示赋值过的DIV
脚本执行完才显示效果是因为js执行有个线程执行一个显示一个  那就用异步吧  设个定时器  我做过的

解决方案 »

  1.   


    <html>
        <head>
            <script type="text/javascript">
    function $(id) {
        return document.getElementById(id);
    }
    function init() {
        $("one").innerHTML='one';
    alert('see');//可以看到已经赋值了
        $("two").innerHTML='two';
        $("three").innerHTML='three';
        $("four").innerHTML='four';
        $("five").innerHTML='five';
    }

    </script>
        </head>
        <body>
                <div id="one"></div>
                <div id="two"></div>
                <div id="three"></div>
                <div id="four"></div>
                <div id="five"></div>
        </body>
    </html><script>
            init();
    </script>
      

  2.   

    window.onload=init;//这样确保所有信息都加载完后再执行init函数
      

  3.   

    应该是执行一个赋值,在HTML页面里面显示一个,时间太短了,察觉不到时间差.用个定时器吧.
      

  4.   

    关于显示顺序,并不难
    <html>
        <head>
            <script src="start.js" type="text/javascript"></script><!-- 这里开始加载start.js,把里面的函数和方法及对象加载到客户端-->
        </head>
        <body>
                <div id="one"></div>
                <div id="two"></div>
                <div id="three"></div>
                <div id="four"></div>
                <div id="five"></div>
        </body>
    </html><script>
            init();//这里开始调用已经加载的函数
    </script>function $(id) {{//这个函数在加载start.js时已加载完毕
        return document.getElementById(id);
    }
    function init() {//这个函数在加载start.js时已加载完毕
        $("one").innerHTML='one';//执行这个在网页上已赋值显示
        $("two").innerHTML='two';//这个是几乎同时与上面的执行的,间隔很小,执行速度快,看不出明显的效果,以下一样
        $("three").innerHTML='three';
        $("four").innerHTML='four';
        $("five").innerHTML='five';
    }如果想要看到效果,对每个进行延时吧,或者再异步加载
      

  5.   


    是所有的赋值结束 甚至 所在脚本执行完 才会在HTML页面显示赋值结果 
      

  6.   

    function init() {
    $("one").innerHTML='one';
                            alert('one');
    $("two").innerHTML='two';
            alert('two');
    $("three").innerHTML='three';
    alert('three');
    $("four").innerHTML='four';
    alert('four');
    $("five").innerHTML='five';
    alert('five');}你把这个函数变成这个就能看到他的赋值顺序了
      

  7.   


    是所有的赋值结束 甚至 所在脚本执行完 才会在HTML页面显示赋值结果 
    这个是不对的哦,你用我给你的例子一看就知道了,应该是时间太短,几乎是同时执行的,间隔很小,执行速度快,看不出明显的效果
      

  8.   

    加 alert  并不能说明该问题
      

  9.   

    并不是你说的所有的赋值结束 甚至 所在脚本执行完 才会在HTML页面显示赋值结果  
      

  10.   

    加一个alert就能完全的说明
    如果按你说的所有的赋值结束 甚至 所在脚本执行完 才会在HTML页面显示赋值结果,那么执行一个alert,是不应该出现一个值的,完全下面的还没进行赋值
      

  11.   

    是所有的赋值结束 甚至 所在脚本执行完 才会在HTML页面显示赋值结果  
    按你的这个说法,他应该是在弹出alert('four');
    这个以后才会同时在页面上显示几个值
      

  12.   

    HTML code
    <html>
        <head>
            <script type="text/javascript">
            function $(id) {
        return document.getElementById(id);
    }
    function init() {
        $("one").innerHTML='one';
        alert('see');//可以看到已经赋值了
        $("two").innerHTML='two';
        $("three").innerHTML='three';
        $("four").innerHTML='four';
        $("five").innerHTML='five';
    }
            
            </script>
        </head>
        <body>
                <div id="one"></div>
                <div id="two"></div>
                <div id="three"></div>
                <div id="four"></div>
                <div id="five"></div>
        </body>
    </html><script>
            init();
    </script>-----------------------------这个例子确实说明了,是执行  $("one").innerHTML='one'; 语句后,HTML会立刻显示one字符在页面上!
    另外!我现情况是,执行一个HTML,这个HTML会,加载一个JSON格式的JS,因为数据有些大
    所以刷新的时候画面会白一下,用户体验不是很好!我的想法是先显示出一部分来。但是如果按照
    执行完一句 $("one").innerHTML='one';就会立刻显示出来的话。就不用用什么特别的方法一部分一部分的显示了!
    可是我的页面白一下不知道有没有什么办法!
      

  13.   

     那模拟个loadding.....进度条 判断页面是否加载完毕
      

  14.   

    白一下??这个需要加载JS的,再加载JS的时候页面空白一下是正常的,你可以做一个滚动条的提示,说明数据正在加载!
      

  15.   

    如果想按顺序来可以采用onpropertychange来依次触发
      

  16.   

    function $(id) {
        return document.getElementById(id);
    }function getData()
    {
    var vXmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
    var vUrl = "http://topic.csdn.net/u/20080508/14/2691f29f-75f2-49c5-876c-57ce0d72ebdf.html?seed=" + parseInt(Math.random()*1000);
    if ( ! vXmlHTTP)
    {
    alert("Microsoft.XMLHTT创建错误!");
    return;
    }
    vXmlHTTP.open("POST", vUrl, false);
    vXmlHTTP.send();
    }function dely_function()
    {
    for(var i=0;i<10;i++)
    {
    getData();
    }
    }function init() {
        dely_function();
        $("one").innerHTML='one';
    alert("aaa");
    dely_function();
        $("two").innerHTML='two';
        dely_function();
    $("three").innerHTML='three';
        dely_function();
    $("four").innerHTML='four';
        dely_function();
    $("five").innerHTML='five';
    }
      

  17.   

    加alert是可以显示出第一个div 的值但是 2345 div 还是同时显示的 貌似delay写错   -_-
      

  18.   

    加alert是可以显示出第一个div 的值 但是 2345 div 还是同时显示的  貌似delay写错   -_-你这个说不过去吧
    我就按你的这个来 dely_function();
        $("one").innerHTML='one';
        alert("aaa");
        dely_function();
        $("two").innerHTML='two';
        alert("aaa1");
        dely_function();
        $("three").innerHTML='three';
        alert("aaa2");
        dely_function();
        $("four").innerHTML='four';
        alert("aaa3");
        dely_function();
        $("five").innerHTML='five';你自己看是不是同时显示的
      

  19.   

    测试结果是 加alert是可以显示出第一个div 的值 但是 2345 div 还是同时显示的  而且中间的时间间隔还比较长
      

  20.   

    加alert是可以显示出第一个div 的值  但是 2345 div 还是同时显示的   貌似delay写错   -_- 你这个怎么说都说不过去
    你2345这几个是时间太短,几乎是同时执行的,间隔很小,执行速度快,看不出明显的效果
    不信你每个后面都加一个alert你就知道了
      

  21.   


    你中间间隔时间并不是2345的显示问题时间,是你这个 dely_function(); 函数加载慢造成的!
      

  22.   

    实际中是不可能有alert的我的测试环境 win2003 ie 6 sp2 结果是 同时显示 
      

  23.   

    呵呵,看来你又要步kisslan 的后尘,钻牛角尖了!
      

  24.   


    你这是钻牛角尖啊!!!是所有的赋值结束 甚至 所在脚本执行完 才会在HTML页面显示赋值结果   
    按你的这个说法,他应该是在弹出alert('four'); 
    这个以后才会同时在页面上显示几个值,而不会是alert一个出现一个!
      

  25.   

    你自己冷静下来再好好想想是不是你的这个说法“是所有的赋值结束 甚至 所在脚本执行完 才会在HTML页面显示赋值结果  ”
    是不是应该在弹出alert('four'); 这个以后才会同时在页面上显示几个值,而不是,弹出一个alert就显示一个
      

  26.   

    但是实际情况却不是如你说的在弹出alert('four'); 这个以后才会同时在页面上显示几个值,而是弹出一个alert就显示一个实际中是不可能有alert的  
    我们是在讨论他们的执行顺序,是如你所说的“是所有的赋值结束 甚至 所在脚本执行完 才会在HTML页面显示赋值结果”
    还是,赋值一个就显示一个
      

  27.   

    白一下??这个需要加载JS的,再加载JS的时候页面空白一下是正常的,你可以做一个滚动条的提示,说明数据正在加载!
    --------白一下我知道正常!可是关键是时间长短啊!我先数据有点多所以我希望有个顺序吧!能先显示一点用户体验好一点!所以来问加载顺序啊!
      

  28.   

    chinmo 总说人钻牛角啊我们只是对事情认真啊。。
    我可能理解能力比较差但是也不要这么直接说我啊
    55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇55哇
      

  29.   

    我发现确实是执行一个执行一句立刻就可以在html显示出来啊~~~~~!所以现在可能已经是我的想法了
    就是执行完成赋值一个DIV立刻就可以在页面上显示这个div数值!!!
    那你们还在说的是什么啊 !?我都乱啦<html>
    <head>
    <script src="start.js" type="text/javascript"></script>
    </head>
    <body>
    <div id="one"></div>
    <div id="two"></div>
    <div id="three"></div>
    <div id="four"></div>
    <div id="five"></div>
    </body>
    </html><script>
    init();
    </script>start.js
    function $(id) {
        return document.getElementById(id);
    }
    function init() {
    $("one").innerHTML='one';
    alert("who1");
    $("two").innerHTML='two';
    alert("who2");
    $("three").innerHTML='three';
    alert("who3");
    $("four").innerHTML='four';
    $("five").innerHTML='five';
    }
      

  30.   


    同意,JS,DOM,Ajax一塌糊涂!
      

  31.   

    不要我就要先加载一点
    一般作为一个用户来说,你显示一点用户感觉反而更加不好,你还不如做一个进度条来说明数据在加载
    你看下sina你就知道啊http://comment4.news.sina.com.cn/comment/skin/default.html?channel=cj&newsid=31-1-4843495
    你多刷刷
    你就发现更多精彩留言  那几个字体总是先出来我想她是一个静态的页面。然后后面才加载上js或者xml里面的数据的!我就想有没有js的办法可以先加载一部分数据这样用户体验好一些啊
      

  32.   

    一样的其实sina被进度条换成了我们所看到的更多精彩留言
      

  33.   

    对啊我的意思也是这两个问题不是一个问题么?1.赋值操作什么时候反应在用户界面2.楼主需求的效果是 赋值一个就显示一个  可是你们执行一下下面这个例子!确实是执行完$("one").innerHTML='one';语句
    后立刻one就显示在了页面上啊
    <html>
        <head>
            <script src="start.js" type="text/javascript"></script>
        </head>
        <body>
                <div id="one"></div>
                <div id="two"></div>
                <div id="three"></div>
                <div id="four"></div>
                <div id="five"></div>
        </body>
    </html><script>
            init();
    </script>start.js JScript codefunction $(id) {
        return document.getElementById(id);
    }
    function init() {
        $("one").innerHTML='one';
        alert("who1");
        $("two").innerHTML='two';
        alert("who2");
        $("three").innerHTML='three';
        alert("who3");
        $("four").innerHTML='four';
        $("five").innerHTML='five';
    }
      

  34.   

    加alert确实可以显示赋值结果   但是不现实呀