将元素外其他元素设置成黑色背景并隐藏(开关灯效果)

本文介绍了一种使用JavaScript实现的网页元素可见性切换及背景颜色改变的方法。通过监听特定按钮点击事件,递归地调整页面中所有子元素的可见性和背景色,实现了网页动态效果。此功能依赖于getElementById, getElementsByTagName, querySelector等DOM操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


  document.getElementById("light").addEventListener('click', function() {
          var dom = document.getElementsByTagName("iframe")[0];
          turnLight(dom);
        	turnBorder(document.querySelector("div[class='artCont']"), "border-top");
          turnBorder(document.querySelector("div[class='mainL830_2']"), "border-right");
	});
  function turnLight(dom){
             if(!dom.parentNode){
               return;
             };
             var list = dom.parentNode.children;
             for(var child of list){
               if(child.id == "divlight"){
                 continue;
               }
               if(child.style != undefined){
                  if( child.style.backgroundColor == "black" ){
                    child.style.backgroundColor = "";
                  }else{
                    child.style.backgroundColor = "black";
                  }

                 if( child == dom){
                  continue
                  }else{
                    if( child.style.visibility == "hidden"){
                       child.style.visibility="visible";
                     }else{
                       child.style.visibility="hidden";
                     }
                  };
               };
             };
             turnLight(dom.parentNode);
};

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值