求解几行代码的意思,初学小白求大神讲解

qq_41100283 2018-04-08 09:04:39
window.onload = function ()
{
var oH2 = document.getElementsByTagName("h2")[0];
var oUl = document.getElementsByTagName("ul")[0];
oH2.onclick = function ()
{
var style = oUl.style;
style.display = style.display == "none" ? "block" : "none";
oH2.className = style.display == "none" ? "open" : ""
}
}

求解7、8、9三行代码,希望大神能讲解下这三行的详细意思,谢谢!三目运算符能明白,但是整体就不懂了。。
...全文
285 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
_cris 2018-04-09
  • 打赏
  • 举报
回复

window.onload = function ()
{
    // 通过tagname 获取页面中第一个h2标签
    var oH2 = document.getElementsByTagName("h2")[0]; 
    // 通过tagname 获取页面中第一个ul标签
    var oUl = document.getElementsByTagName("ul")[0];
    // 第一个h2被点击时执行function
    oH2.onclick = function ()
    {
    // 获取ul的style属性
        var style = oUl.style;
    // 三目运算,如果ul当前是display:none,点击之后就变成block,如果当前是display:block,点击之后就变成display:none;
        style.display = style.display == "none" ? "block" : "none";
   // 三目运算  同理给h2标签添加类名
        oH2.className = style.display == "none" ? "open" : ""
    }
}
m0_37591424 2018-04-09
  • 打赏
  • 举报
回复
2 3 4 5 6 7 8 9 10 11 //页面加载后注册该函数 window.onload = function () { //取<h2>标签为oH2 var oH2 = document.getElementsByTagName("h2")[0]; //取<ul>标签为oUl var oUl = document.getElementsByTagName("ul")[0]; //在<h2>标签上注册点击事件 oH2.onclick = function () { //取<ul>的样式引用style var style = oUl.style; //如果<ul>是不显示的(display:none),变成显示(display:block);显示的(display:block),变成不显示(display:none) style.display = style.display == "none" ? "block" : "none"; //如果<ul>是不显示的(display:none),将<h2>的className改为open,如果<ul>是显示的(display:block),将<h2>的className改为"" oH2.className = style.display == "none" ? "open" : "" } }
zxh_33 2018-04-09
  • 打赏
  • 举报
回复
引用 4 楼 zxh_33 的回复:
点一下oh2,ou1会消失、oh2className改为open;再点一下oh2,ou1会显示、oh2className改为空
一直点oh2,就会一直这么变来变去
zxh_33 2018-04-09
  • 打赏
  • 举报
回复
点一下oh2,ou1会消失、oh2className改为open;再点一下oh2,ou1会显示、oh2className改为空
极客诗人 2018-04-09
  • 打赏
  • 举报
回复
window.onload = function ()
{
   //获取第一个h2标签
    var oH2 = document.getElementsByTagName("h2")[0];
 //获取第一个ul标签
    var oUl = document.getElementsByTagName("ul")[0];
//点击事件
    oH2.onclick = function ()
    {
//获取点击的样式
        var style = oUl.style;
//判断display属性是否为none true改为block false改为none
        style.display = style.display == "none" ? "block" : "none";
//根据display的属性是否为none 将className改为open或""
        oH2.className = style.display == "none" ? "open" : ""
    }
}
无聊的上午 2018-04-08
  • 打赏
  • 举报
回复
var style = oUl.style; 声明变量style 并将oUl的style值赋值给它 style.display = style.display == "none" ? "block" : "none"; 三目运算,这么理解: 如果 style.display为none 则将block赋值给它否则将none赋值给它 下面那个一样的三目运算

87,968

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧