javascript实现显示和隐藏div方法汇总
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>15种方法实现div显示和隐藏</title> <script src="js/base.js"></script> <style> body{ margin: 0; } h1,h2{ margin: 0; } ul{ margin: 0; padding: 0; list-style: none; } button{ background-color: #333; color: white; padding: 5px; border: none; border-radius: 10px; } .box{ width: 1000px; padding: 50px; border: 5px solid #333; margin: 100px auto 0; overflow: hidden; } .tit{ text-align: center; margin-bottom: 20px; } .in-con{ padding-top: 10px; overflow: hidden; } .in{ width: 188px; height: 188px; padding: 5px; border: 1px solid #333; float: left; overflow: hidden; } .in-show{ height: 100px; width: 120px; padding: 10px; background-color: orange; margin: 10px auto 0; line-height: 1.5; border-radius: 20px; text-align: center; word-break: break-all; overflow: hidden; transition: 0.5s; } </style> </head> <body> <div class="box" id="box"> <h1 id="种方法实现显示和隐藏div">15种方法实现显示和隐藏div</h1> <ul class="list"></ul> </div> <script> var oBox = $('box'); var oList = $(oBox,'ul')[0]; var data = ['display','visibility','absolute','margin负值','relative','width/height','opacity/rgba','hidden','skew','scale','translate','rotate','overflow','z-index','border-box']; //生成结构 function fnNew(i){ var sHtml = ''; sHtml += '<div class="in-con">\ <button class="in-btn_s">显示</button>\ <button class="in-btn_h">隐藏</button>\ </div>\ <div class="in-show">第'+ (i+1) +'种方法:<br>'+ data[i]+'</div>'; var element = document.createElement('li'); element.className = 'in'; element.innerHTML = sHtml; oList.appendChild(element); } for(var i = 0; i < data.length; i++){ fnNew(i); var oIn = oList.getElementsByTagName('li')[i]; var aBtn = oIn.getElementsByTagName('button'); var oShow = oIn.getElementsByTagName('div')[1]; for(var j = 0 ; j < 2; j++){ aBtn[j].m = oShow; aBtn[j].i = i; aBtn[j].j = j; aBtn[j].onclick = function(){ fn(this.m,this.j,this.i); } } } function fn(obj,switcher,index){ switch(index){ //【方法一】display: block/none case 0: if(!switcher){ obj.style.display = 'block'; }else{ obj.style.display = 'none'; } break; //【方法二】visibility:true/false case 1: if(!switcher){ obj.style.visibility = 'visible'; }else{ obj.style.visibility = 'hidden'; } break; //【方法三】absolute+top/static case 2: if(!switcher){ obj.style.cssText = 'position:static'; }else{ obj.style.cssText = 'position:absolute;top:-999px'; } break; //【方法四】margin-top case 3: if(!switcher){ obj.style.cssText = 'margin-top: 10px'; }else{ obj.style.cssText = 'margin-top:-999px'; } break; //【方法五】relative + top / static case 4: if(!switcher){ obj.style.cssText = 'position: static'; }else{ obj.style.cssText = 'position: relative; top: -999px'; } break; //【方法六】width/height case 5: if(!switcher){ obj.style.cssText = 'width:100px; padding: 10px'; }else{ obj.style.cssText = 'width:0; padding: 0'; } break; //【方法七】opacity/rgba case 6: if(!switcher){ obj.style.opacity = '1'; }else{ obj.style.opacity = '0'; } break; //【方法八】hidden case 7: if(!switcher){ obj.hidden = false; }else{ obj.hidden = true; } break; //【方法九】skew case 8: if(!switcher){ obj.style.transform = 'skew(0)'; }else{ obj.style.transform = 'skew(90deg)'; } break; //【方法十】scale case 9: if(!switcher){ obj.style.transform = 'scale(1)'; }else{ obj.style.transform = 'scale(0)'; } break; //【方法十一】translate case 10: if(!switcher){ obj.style.transform = 'translateX(0)'; }else{ obj.style.transform = 'translateX(-999px)'; } break; //【方法十二】rotate case 11: if(!switcher){ obj.style.transform = 'rotateX(0)'; }else{ obj.style.transform = 'rotateX(90deg)'; } break; //【方法十三】overflow case 12: if(!switcher){ obj.style.cssText = 'transform: translateX(0)'; }else{ obj.style.cssText = 'transform: translateX(220px)'; } break; //【方法十四】z-index case 13: var element = document.createElement('div'); element.style.cssText = 'height: 100px;width: 120px;padding: 10px;background-color: white; margin-top: 10px;margin-left: 13%;position:absolute ;z-index: -1'; obj.parentNode.appendChild(element); if(!switcher){ obj.style.cssText = ''; obj.parentNode.style.position = 'static'; }else{ obj.style.cssText = 'z-index:-1; position:absolute;margin-left: 13%;'; obj.parentNode.style.position = 'relative'; } break; //【方法十五】border-box case 14: if(!switcher){ obj.style.cssText = ''; }else{ obj.style.cssText = 'padding: 0; box-sizing: border-box; border: 50px solid white;'; } break; } } </script> </body> </html>
我们再来看下其他小伙伴是如何实现的
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>oec2003</title> <script language="JavaScript" type="text/JavaScript"> <!-- function toggle(targetid){ if (document.getElementById){ target=document.getElementById(targetid); if (target.style.display=="block"){ target.style.display="none"; } else { target.style.display="block"; } } } --> </script> <style type="text/css"> <!-- #div1{ background-color:#000000; height:400px; width:400px; display:none; } --> </style> </head> <body> <input type="button" id="butn" value="显示/隐藏" onclick="toggle('div1')" /> <center> <div id="div1"></div></center> 居中的DIV </body> </html>
示例三:
先来看一个最简单的实例,这个可以实现显示和隐藏层
<div id="text"></div><input type="button" onclick="display('text')" /> function $_(id){ return document.getElementById(id); }; function display(x){ $(x).style.display=($(x).style.display=="none")?"":"none"; };
下面是关闭层,其实原理 是一样的只是加了个效果。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <style type="text/css"> body{ position:relative;} .wang{ width:100%; height:100%; background:#CCC; display:none; z-index:10; position:fixed; top:0px; left:150px; margin:0 auto; left:inherit; padding:0;filter:alpha(opacity=60); /* 针对IE浏览器的透明度 */ opacity:0.6; /* 针对FF浏览器的透明度 */} .wang ul{ width:100px; height:100px; margin:0 auto;} </style> </head> <body> <a onclick="dianji()">弹出</a><input type="text" /> <div class="wang" id="xian" onclick="guanbi()"><ul><form><label>姓名</label><input id="wangyan" type="text" /><br /><label>密码</label><button style="width:100px; height:100px;" onclick="guanbi(this)">关闭</button></form></ul></div> <script type="text/javascript"> function dianji(){ x=document.getElementById("xian"); x.style.display="block"; return false; } function guanbi(name){ var c=document.getElementById("wangyan").value; if(c==3){ x.style.display='none'; return false; } } </script> </body> </html>

JavaScript核心数据类型在浏览器和Node.js中一致,但处理方式和额外类型有所不同。1)全局对象在浏览器中为window,在Node.js中为global。2)Node.js独有Buffer对象,用于处理二进制数据。3)性能和时间处理在两者间也有差异,需根据环境调整代码。

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要区别在于类型系统和应用场景。1.Python使用动态类型,适合科学计算和数据分析。2.JavaScript采用弱类型,广泛用于前端和全栈开发。两者在异步编程和性能优化上各有优势,选择时应根据项目需求决定。

选择Python还是JavaScript取决于项目类型:1)数据科学和自动化任务选择Python;2)前端和全栈开发选择JavaScript。Python因其在数据处理和自动化方面的强大库而备受青睐,而JavaScript则因其在网页交互和全栈开发中的优势而不可或缺。

Python和JavaScript各有优势,选择取决于项目需求和个人偏好。1.Python易学,语法简洁,适用于数据科学和后端开发,但执行速度较慢。2.JavaScript在前端开发中无处不在,异步编程能力强,Node.js使其适用于全栈开发,但语法可能复杂且易出错。

javascriptisnotbuiltoncorc; saninterpretedlanguagethatrunsonenginesoftenwritteninc.1)javascriptwasdesignedAsalightweight,解释edganguageforwebbrowsers.2)Enginesevolvedfromsimpleterterterpretpreterterterpretertestojitcompilerers,典型地提示。

JavaScript可用于前端和后端开发。前端通过DOM操作增强用户体验,后端通过Node.js处理服务器任务。1.前端示例:改变网页文本内容。2.后端示例:创建Node.js服务器。

选择Python还是JavaScript应基于职业发展、学习曲线和生态系统:1)职业发展:Python适合数据科学和后端开发,JavaScript适合前端和全栈开发。2)学习曲线:Python语法简洁,适合初学者;JavaScript语法灵活。3)生态系统:Python有丰富的科学计算库,JavaScript有强大的前端框架。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。