扫码关注官方订阅号
menu
全部商品分类 家用电器 手机数码 户外运动 办公家具 食品生鲜
全部商品分类
家用电器
手机数码
户外运动
办公家具
食品生鲜
我在你代码基础上稍加修改一下完成了你的效果
jq的引入的目的不明
最后的condd.style.height = 0没有加px
condd.style.height = 0
你的container范围太大,我这个代码只是给你示范,修改成了dt.onmouseout
container
dt.onmouseout
还有你的vheight全局变量被污染,我这里没有给你解决,只是在onmouseout给你加上还原vheight
vheight
onmouseout
你写的setTimeout(changeheight(),50)里面的函数不应该写括号,可以去查查它的用法
setTimeout(changeheight(),50)
<script> var container = document.getElementById('container'); var dt = document.getElementById('dt'); var condd = document.getElementById('condd'); var timer; var vheight = 0; condd.style.height = '0px'; dt.onmouseover = function(){ changeheight(); }; function changeheight(){ if(condd.offsetHeight<=150){ vheight += 10; condd.style.height = vheight+"px"; setTimeout(changeheight,50); } } dt.onmouseout = function(){ vheight =0; condd.style.height = 0+'px'; }; </script>
setTimeout内已经直接执行函数了,当然直接就出结果了,setTimeout内的changeheight不能带括号
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你代码的问题
jq的引入的目的不明
最后的
condd.style.height = 0没有加px你的
container范围太大,我这个代码只是给你示范,修改成了dt.onmouseout还有你的
vheight全局变量被污染,我这里没有给你解决,只是在onmouseout给你加上还原vheight你写的
setTimeout(changeheight(),50)里面的函数不应该写括号,可以去查查它的用法setTimeout内已经直接执行函数了,当然直接就出结果了,setTimeout内的changeheight不能带括号