分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

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

发布时间:2023-09-06 01:50责任编辑:傅花花关键词: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的意义在于他们标志则文档已经加载完毕,页面内元素可以使用了  

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

原文地址:https://www.cnblogs.com/chengX3programmer/p/8877226.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved