<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>
Utilisez settimeout pour écrire l'expansion et la contraction du menu secondaire. Passez une fonction avec des paramètres dans settimeout. Je ne sais pas comment la passer. Dans la vidéo, c'est écrit comme ceci : setTimeout("addHeight('"+. ul+"')",10) Mais ce n'est pas normal. Quelle est la raison ?
setTimeout Le premier paramètre de cette fonction peut accepter une fonction ou un morceau de code, s'il s'agit de code, il sera mis dans
eval
pour exécution.La façon dont vous écrivez ici est la façon dont vous écrivez un morceau de code. Veuillez vérifier si les guillemets sont écrits correctement dans une correspondance individuelle. Ou passez aux deux méthodes d'écriture suivantes et cela devrait fonctionner normalement