javascript - Masalah dengan parameter yang diluluskan dalam settimeout
三叔
三叔 2017-07-05 11:06:49
0
2
786
<body>
    <p class="nav">
        <ul class="nav_level_1">
            <li><a href="#">首页</a></li>
            <li><a href="#">课程大厅</a>
                <ul class="nav_level_2">
                    <li><p class="corn"></p></li>
                    <li><a href="#">JavaScript</a></li>
                    <li><a href="#">JQuery</a></li>
                </ul>
            </li>
            <li><a href="#">学习中心</a></li>
            <li><a href="#">经典案例</a></li>
            <li><a href="#">关于我们</a></li>
        </ul>
    </p>
    <script type="text/javascript">
    window.onload = function(){
        var nav_level_1 = document.getElementsByClassName("nav_level_1")[0],
            lis_1 = nav_level_1.children;
            for(var i = 0;i < lis_1.length;i++){
                lis_1[i].onmouseover = function(){
                    var ul = this.getElementsByClassName("nav_level_2")[0];
                    addHeight(ul);
                }

            }
    }
    function addHeight(ul){
        var ul_height = ul.offsetHeight;
        ul_height++;
        if(ul_height <= 95){
            ul.style.height = ul_height + "px";
            setTimeout("addHeight('"+ul+"')",10);
        }else{
            return;
        }
    }
    </script>
</body>

Gunakan settimeout untuk menulis pengembangan dan pengecutan menu sekunder Lulus fungsi dengan parameter dalam settimeout ul+"')",10) Tetapi ini bukan perkara biasa.

三叔
三叔

membalas semua(2)
某草草
setTimeout(function () {addHeight(ul)},10);
漂亮男人

setTimeout Parameter pertama fungsi ini boleh menerima fungsi atau sekeping kod Jika ia adalah kod, ia akan dimasukkan ke dalam eval untuk pelaksanaan.

Cara anda menulis di sini ialah cara anda menulis sekeping kod Sila semak sama ada tanda petikan ditulis dengan betul dalam surat-menyurat satu-satu. Atau tukar kepada dua kaedah penulisan berikut dan ia sepatutnya berfungsi seperti biasa

setTimeout(function () {
    addHeight(ul)
}, 10);
setTimeout(addHeight, 10, ul)
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!