• 在学js原生遇到了一个问题,解决了希望对大家有帮助


    今天在学原生时遇到一个不算问题的问题,怎么叫不算问题的问题呢?  下面就是问题

      window.onload=function ()

    {
    var oDiv=document.getElementById('drop');//获取到整个盒子
    var oH2=oDiv.getElementsByTagName('h2')[0];//获取到播放列表
    var oUl=oDiv.getElementsByTagName('ul')[0];//获取到播放列表曲目
    oH2.onclick=showHideUl; //给播放列表一个单鸡事件调用showHideUl
    }

    function showHideUl()
    {
    if(oUl.style.display === 'none')//如果隐藏则显示ul列表 反之则隐藏
    {
    oUl.style.display='block';
    oH2.className='up';
    }
    else
    {
    oUl.style.display='none';
    oH2.className='down';
    }}

    这是原本代码,实现的是一个播放列表的下拉

    window.onload=function ()

    {
    var oDiv=document.getElementById('drop');//获取到整个盒子
    var oH2=oDiv.getElementsByTagName('h2')[0];//获取到播放列表
    var oUl=oDiv.getElementsByTagName('ul')[0];//获取到播放列表曲目
    oH2.onclick=showHideUl; //给播放列表一个单鸡事件调用showHideUl
    function showHideUl()
    {
    if(oUl.style.display === 'none')//如果隐藏则显示ul列表 反之则隐藏
    {
    oUl.style.display='block';
    oH2.className='up';
    }
    else
    {
    oUl.style.display='none';
    oH2.className='down';
    }
    }}

    这是我修改后的代码, 我将这个showHideUl方法放入了onload里面 使得代码量减少 ,因为在看代码时没有视频讲解 所以拿捏不定 我这样精简是否正确(不过程序确实能够正常执行)

    ()

    于是我看了https://bbs.csdn.net/topics/390498828的问答 

      onload方法:在页面打开时需等网页所有元素加载完成后才开始执行,而自执行函数是在js加载时就开始执行 所以当你在将一个自执行函数写为一个死循环并引入head里时 页面就什么都显示不出来

    因为页面一直在执行这个死循环 不会往下解析body  onload的意义在于他们标志则文档已经加载完毕,页面内元素可以使用了  

  • 相关阅读:
    HMMPfam的安装使用手记(转载)
    Linux下MySQL忘记密码的解决方法
    systemctl命令
    Linux配置ssh免密登录
    Linux下scp报Permission denied错误的解决方法
    Ubuntu修改时区和时间
    Ubuntu安装JDK
    Ubuntu用apt安装MySQL
    IntelliJ IDEA集成工具Database连接MySQL8.0报错的解决方法
    tar命令
  • 原文地址:https://www.cnblogs.com/chengX3programmer/p/8877226.html
Copyright © 2020-2023  润新知