Rumah > Soal Jawab > teks badan
<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.
漂亮男人2017-07-05 11:08:49
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)