javascript - 展开收缩,用事件代理来写的话怎样写,总是有问题,求助
怪我咯
怪我咯 2017-04-11 09:45:48
[JavaScript讨论组]

展开收缩,用事件代理来写的话怎样写,总是有问题

展开收缩不是那么的顺畅

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
#ul1 {width: 100px; padding: 0;}
#ul1 li {width: 100px; list-style: none;}
#ul1 li h2 {margin: 0; padding: 0; height: 20px; background: #ccc; font-size: 12px; font-weight: normal; text-align: center; line-height: 20px; border: 1px solid #333;}
#ul1 li p {height: 100px; background: red; display: none;}

</style>

</head>

<body>
  <ul id="ul1">
          <li>
            <h2> 1111 </h2>
            <p id="a1"></p>
    </li>
          <li>
            <h2> 2222 </h2>
            <p id="a2"></p>
    </li>
          <li>
            <h2> 3333 </h2>
            <p id="a3"></p>
    </li>
          <li>
            <h2> 4444 </h2>
            <p id="a4"></p>
    </li>
  </ul>

  <script>
window.onload=function(){
        var ul=document.getElementById('ul1');
        var li=ul.getElementsByTagName('h2');
        var p=ul.getElementsByTagName('p');

        ul.addEventListener('click', function(e){
                
                if(e.target.parentNode.tagName = 'LI'){

                        for(var i=0; i<p.length; i++){
                                p[i].style.display = 'none'
                        }
                        console.log(e.target.parentNode,e.target.parentNode.getElementsByTagName('p')[0])
                        var elem = e.target.parentNode.getElementsByTagName('p')[0];
                        if(elem.show==1){
                                elem.style.display = 'none'
                                elem.show=0
                        }else{
                                elem.style.display = 'block'
                                elem.show=1;
                        }
                }
        })
};
</script>
</body>
</html>
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(1)
黄舟

试下jQuery的slideDown() slideUp() 或者 toggle()

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号