本帖最后由 llzzww316 于 2010-08-07 22:38:27 编辑

解决方案 »

  1.   

    setTimeout不是属于多线程的,当你moverain方法中的setTimeout执行后就一直循环执行moverain了,没有执行setTimeout("oout()", 450);
      

  2.   

    你可以改成这样子:
    <html>
    <head>
        <title>无标题文档</title>
        <style type="text/css">
            <!
            -- .STYLE1
            {
                font-family: Arial, Helvetica, sans-serif;
                font-weight: bold;
            }
            -- ></style>
    </head><script>
        var i = 0;
        var str = "aaaaaaaaaaaaaaaaaaaa";    function oout() {
            var s = str.substring(0, i);
            var aa = document.getElementById("div1").innerHTML;
            document.getElementById("div1").innerHTML = s;
            i = i + 1;
            moverain();
            setTimeout("oout()", 450);
        }
    </script><body onload="oout()" bgcolor="FFFF99">
        <table width="1149" height="598" border="1">
            <tr>
                <td width="25" height="426" rowspan="4">
                    &nbsp;
                </td>
                <td width="517" rowspan="4">
                    <img src="card.jpg" width="517" height="615" alt="o" />
                </td>
                <td height="297" colspan="2">
                    <div id="div1" class="STYLE1">
                    </div>
                </td>
            </tr>
            <tr>
                <td width="297" height="69">
                    &nbsp;
                </td>
                <td width="282" rowspan="2">
                    <img src="here.jpg" alt="me" width="235" height="222">
                </td>
            </tr>
            <tr>
                <td height="172">
                    <span class="STYLE1">I'm here &gt;&gt; </span>
                </td>
            </tr>
            <tr>
                <td height="20">
                    &nbsp;
                </td>
                <td width="282">
                    &nbsp;
                </td>
            </tr>
        </table>
        <style>
            .drop
            {
                position: absolute;
                width: 3;
                filter: flipV(), flipH();
                font-size: 40;
                color: blue;
            }
        </style>    <script language="javascript">        snow = false; // false-rain; true-snow
            snowsym = " * " //These are the symbols for each
            rainsym = " * " //You can put images here.
            howmany = 15 //How many drops/snowflakes?        /**************Do not need to change anything below***********/
            if (snow) { sym = snowsym; speed = 1; angle = 10; drops = howmany }
            else { sym = rainsym; speed = 10; drops = howmany; angle = 20 }
            movex = -speed / angle; movey = speed; count = 0;        function moverain() {
                for (move = 0; move < drops; move++) {
                    xx[move] += movex; yy[move] += mv[move];
                    hmm = Math.round(Math.random() * 1);
                    if (xx[move] < 0) { xx[move] = maxx + 10; }
                    if (yy[move] > maxy) { yy[move] = 10; }
                    drop[move].left = xx[move]
                    drop[move].top = yy[move] + document.body.scrollTop;
                }
                 setTimeout('moverain()', '1')
            }    </script>    <script language="javascript">        if (document.all) {
                drop = new Array(); xx = new Array(); yy = new Array(); mv = new Array()
                ly = "document.all[\'"; st = "\'].style"
                for (make = 0; make < drops; make++) {
                    document.write('<div id="drop' + make + '" class=drop>' + sym + '</div>');
                    drop[make] = eval(ly + 'drop' + make + st);
                    maxx = document.body.clientWidth - 40
                    maxy = document.body.clientHeight - 40
                    xx[make] = Math.random() * maxx;
                    yy[make] = -100 - Math.random() * maxy;
                    drop[make].left = xx[make]
                    drop[make].top = yy[make]
                    mv[make] = (Math.random() * 1) + speed / 16;
                    drop[make].fontSize = (Math.random() * 10) + 20;
                    if (snow) { col = 'white' } else { col = '#FF66FF' }
                    drop[make].color = col;
                }
                window.onload = function() { oout(); moverain(); }
            }
        </script>    <bgsound src="birthday.mp3" autostart="true" loop="infinite"></bgsound>
    </body>
    </html>