前端显示和隐藏<div>的方法 / 判断

本文详细介绍了使用jQuery操作前端div元素的显示与隐藏方法,包括加载页面时的显示与隐藏、状态切换、判断div是否隐藏等实用技巧。通过具体代码示例,帮助读者掌握div元素的动态控制。

 前端 div 模块的显示和隐藏方法:

一、加载页面时 隐藏 再 显示 :

三种方法,亲测可行~~

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="jquery-3.4.1.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>小白网页</title>
</head>
<body onLoad="HideWeekMonth()">
	<div id="test" >
		<p>我是小白</p>
	</div>
	
  <script>
	function HideWeekMonth()
	{
	    $("#test").hide();//隐藏
            $("#test").show();//显示
            $("#test").attr("style","display:none;");//隐藏div
	    $("#test").attr("style","display:block;");//显示div
            $("#test").css("display","none");//隐藏div
	    $("#test").css("display","block");//显示div
	}
  </script>
</body>
</html>

  

二、状态的切换:

$("#test").toggle()切换元素的可见状态。如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="jquery-3.4.1.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>小白网页</title>
</head>
<body onLoad="HideWeekMonth()">
	<div id="test" >
		<p>我是小白</p>
	</div>
	
	<script>
	function HideWeekMonth()
	{
		$("#test").toggle();
	}
		</script>
</body>
</html>

  

系统默认是显示的,转换之后,就变成了隐藏。

三、判断是否是隐藏:

1、使用JQuery内置选择器:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="jquery-3.4.1.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>小白网页</title>
</head>
<body onLoad="HideWeekMonth()">
	<div id="test" >
		<p>小白最棒啦!</p>
	</div>
	
	<script>
	function HideWeekMonth()
	{
		$('#test').hide();
		if($('#test').is(":hidden")){
			alert("$('#test').is(':hidden')==="+$('#test').is(':hidden'));//true
		}
		
		$('#test').show();
		if($('#test').is(':visible')){
			alert("$('#test').is(':visible')==="+$('#test').is(':visible'));//true
		}
	}
		</script>
</body>
</html>

  

2、使用CSS属性判断:

(1)第一种情况比较好理解:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="jquery-3.4.1.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>小白网页</title>
</head>
<body onLoad="HideWeekMonth()">
	<div id="test" >
		<p>我是小白</p>
	</div>
	
	<script>
	function HideWeekMonth()
	{
		var display = $('#test').css('display');
		if(display=='block'){
			alert("我没有隐藏哦!");//默认显示
		}
		$("#test").css("display","none");//隐藏div
		var display2 = $('#test').css('display');
		if(display2=='none'){
			alert("我藏起来啦,猜猜我是谁!");
		}
	}
		</script>
</body>
</html>

  

(2)第二种情况:

    这种情况的判断比较特殊,需要注意的是这是用了 CSS 的语法将模块隐藏,用前面的方法都是无法判断的。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="jquery-3.4.1.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>小白网页</title>
	<style type="text/css">
	#test{visibility: hidden;}
	/* p.invisible{visibility: hidden;} */
	</style>
</head>

<body onLoad="HideWeekMonth()">
	<div id="test" >
		<p class="invisible">小白最棒啦!</p>
	</div>
	
	<script>
	function HideWeekMonth()
	{
		alert('类判断='+$(".invisible").css("visibility"));
		alert('ID判断='+$("#test").css("visibility"));
		if( $('#test').css("visibility") == "hidden" ){
			alert('有效!');
		}
	}
	//无效判断
		setTimeout(function () {
			var display = $('#test').css('display');
			alert('display==='+display);
			if(display=='block'){
				alert("判断失误!无效!");//默认显示
			}
			
			alert("$('#test').is(':hidden')==="+$('#test').is(':hidden'));
			alert("$('#test').is(':visible')==="+$('#test').is(':visible'));
		}, 2000);
	</script>
</body>
</html>

  

就先总结到这。补充:

1.display:none; 
2.visibility:hidden; 
3.background-color:transparent;或者设成与背景一样的颜色即可 
4.opacity来设置不透明级别,注意兼容性filter… 
5.给div一个margin负值,这个负值恰好等于div自身的高度或宽度 
6.设置两个大小一样的div,第一个左浮动,第二个不浮动,即可将第二个div隐藏 
7.设置一个父div和一个子div,子div绝对定位,父div相对定位,子div的left就是子div的宽度 
8.给父div1设置一个固定的宽度,给子div2设置的宽度远大于父div,并给父div1设置overflow:hidden,并给子div设置margin值即在父div1中没被隐藏的剩余宽度,代码如下: 
#div1{width:100px;height:200px;overflow:hidden;} 
#div2{width:200px;height:200px;background:green;margin-left:100px;} 
9.将div的宽度和高度设置为0

--在这里看到滴~https://blog.csdn.net/u012246458/article/details/80523268

 

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <% HttpSession session1 = request.getSession(); String username = (String) session1.getAttribute("username");//获取session中的账号 String realname = (String) session1.getAttribute("realname");//获取session中的姓名 //判断用户是否已经登录,如未登录则强制跳转(重定向)到登录界面 //if(username==null) response.sendRedirect("login.jsp"); %> <html> <head> <title>系统首页</title> <link rel="stylesheet" href="css/index.css"> </head> <body> <header> <div class="left"> <%-- 无LOGO--%> <span class="title">智能电器综合管理</span> </div> <div class="right"> <%-- =realname 相当于 out.println(username); --%> <span class="userinfo"><%=realname%>(<% out.println(username); %>)</span> <span class="logout" onclick="logout()">注销</span> </div> </header> <%-- 中间有效区域 S--%> <div class="main"> <!-- 菜单区域 S --> <div class="left"> <div class="top">系统菜单</div> <div class="first-menu"> <div>用户管理</div> <ul> <li url="user/list.jsp">家庭成员管理</li> </ul> </div> <div class="first-menu"> <div>系统管理2</div> <ul> <li url="living/list.jsp">客厅</li> </ul> </div> </div> <!-- 菜单区域 E --> <!-- 内容区域 S --> <div class="right"> <!-- 打开一个新的页面 iframe:专门用于嵌套显示网页 显示百度:https://www.baidu.com --> <iframe id="iframe" src="welcome.jsp"></iframe> </div> <!-- 内容区域 E --> </div> <%-- 中间有效区域 E--%> <footer></footer> <%-- 引用jquery代码库 --%> <script src="js/jquery-3.5.1.min.js"></script> <script> //注销功能 function logout() { //跳转到登录界面 //window.location.href="login.jsp"; //确认提示:点击确定才真正跳转,否则不做任何处理 if(confirm("确定要退出系统吗?")) window.location.href="login.jsp"; } let nowClickUl = null; //点击一级菜单,显示对应的二级菜单,再次点击则隐藏对应的二级菜单 $('.main .left .first-menu > div').on('click', function () { //显示对应的二级菜单 let ul = $(this).parent().find('> ul'); if(nowClickUl && $(this).html() !== nowClickUl.parent().find('> div').html()) { nowClickUl.hide(); } nowClickUl = ul; //判断ui当前的显示状态:隐藏-》显示 显示-》隐藏 //:hidden隐藏 true=隐藏 false=显示 //if(ul.is(':hidden')) ul.show();//当前为隐藏状态,显示 //else ul.hide(); //当前为显示状态,隐藏 ul.toggle();//根据当前的显示状态,做相反操作 }); //点击二级菜单,在内容区域显示对应的网页 $('.main .left .first-menu > ul li').on('click', function () { let url = $(this).attr('url');//获取元素中的文本内容 $('#iframe').attr('src', url); }); </script> </body> </html>
07-06
<!DOCTYPE html> <html lang="zh-CN" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>文件管理 - Hadoop-JavaEE</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container mt-3"> <h2>文件管理 <small class="text-muted" id="currentPathDisplay">/</small> </h2> <hr> <!-- 消息显示:基于URL参数,增加默认文本 --> <div th:if="${param.success}" class="alert alert-success" th:text="${param.success ?: '操作成功'}"></div> <div th:if="${param.error}" class="alert alert-danger" th:text="${param.error ?: '操作失败'}"></div> <!-- 创建目录:表单action改为Thymeleaf语法 --> <div class="card mb-3"> <div class="card-body"> <h5 class="card-title">创建目录</h5> <form method="post" th:action="@{/file/mkdir}"> <div class="input-group"> <input type="text" name="path" class="form-control" placeholder="例如:/testDir"> <button type="submit" class="btn btn-primary">创建</button> </div> </form> </div> </div> <!-- 上传文件:修复隐藏域的路径传递 + 表单action --> <div class="card mb-3"> <div class="card-body"> <h5 class="card-title">上传文件</h5> <form method="post" th:action="@{/file/upload}" enctype="multipart/form-data"> <div class="input-group"> <input type="file" name="file" class="form-control" required> <input type="hidden" name="hdfsDir" id="hdfsDir" value="/"> <button type="submit" class="btn btn-success">上传</button> </div> </form> </div> </div> <!-- 文件列表:修复fileList空值 + file变量解析 + 链接参数 --> <div class="card"> <div class="card-body"> <h5 class="card-title">文件列表</h5> <table class="table table-striped"> <thead> <tr> <th>文件名</th> <th>操作</th> </tr> </thead> <tbody> <!-- 给fileList加空列表兜底,消除未定义提示 --> <tr th:each="file : ${fileList ?: #lists.emptyList()}"> <td th:text="${file ?: '未知文件'}">文件名</td> <td> <!-- 使用Thymeleaf参数语法拼接路径,避免字符串拼接错误 --> <a th:href="@{/file/download(path=/${'/' + file})}" class="btn btn-sm btn-info">下载</a> <a th:href="@{/file/delete(path=/${'/' + file})}" class="btn btn-sm btn-danger" onclick="return confirm('确定删除?')">删除</a> </td> </tr> <!-- 空列表判断:覆盖fileList为null/空的场景 --> <tr th:if="${#lists.isEmpty(fileList ?: #lists.emptyList())}"> <td colspan="2" class="text-center text-muted">暂无文件</td> </tr> </tbody> </table> </div> </div> <div class="mt-3"> <!-- 返回首页改为Thymeleaf语法 --> <a th:href="@{/}" class="btn btn-secondary">返回首页</a> </div> </div> <script> // 使用JavaScript处理路径显示 document.addEventListener('DOMContentLoaded', function() { const urlParams = new URLSearchParams(window.location.search); const path = urlParams.get('path'); if (path) { document.getElementById('currentPathDisplay').textContent = path; } // 更新隐藏字段 const hdfsDirInput = document.getElementById('hdfsDir'); hdfsDirInput.value = path || '/'; }); </script> </body> </html>对该代码错误的地方进行调整
最新发布
11-28
<!doctype html> <html class="no-js" lang=""> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title></title> <link rel="stylesheet" href="css/style.css"> <link rel="stylesheet" href="css/kuding.css"> <link rel="stylesheet" href="css/product-styles.css"> <meta name="description" content=""> <meta property="og:title" content=""> <meta property="og:type" content=""> <meta property="og:url" content=""> <meta property="og:image" content=""> <meta property="og:image:alt" content=""> <link rel="icon" href="/favicon.ico" sizes="any"> <link rel="icon" href="/icon.svg" type="image/svg+xml"> <link rel="apple-touch-icon" href="icon.png"> <link rel="manifest" href="site.webmanifest"> <meta name="theme-color" content="#fafafa"> </head> <body> <script > // 搜索框点击显示下拉面板 const searchInput = document.getElementById('search-input'); const searchDropdown = document.getElementById('search-dropdown'); const searchContainer = document.querySelector('.search-container'); const resultPage = document.getElementById('result-page'); searchInput.addEventListener('focus', () => { searchDropdown.style.display = 'block'; }); // 点击页面其他区域隐藏下拉面板 document.addEventListener('click', (e) => { if (!searchContainer.contains(e.target)) { searchDropdown.style.display = 'none'; } }); // 跳转到搜索结果页面 function goToResult(keyword) { const resultTitle = document.getElementById('result-title'); resultTitle.textContent = `搜索结果:${keyword}`; searchContainer.style.display = 'none'; resultPage.style.display = 'block'; } // 返回搜索页面 function goBack() { resultPage.style.display = 'none'; searchContainer.style.display = 'block'; } // 搜索按钮逻辑 const searchBtn = document.getElementById('search-btn'); searchBtn.addEventListener('click', () => { const keyword = searchInput.value.trim(); if (keyword) { goToResult(keyword); // 实际项目中可在此处添加“添加到历史搜索”逻辑 } }); </script> <div class="AllDiv"> <!---顶部菜单栏(固定位置高度:100px)---> <div class="TopNavigation"> <div id="toplogo">XianCai</div> <div class="search-container"> <!-- 搜索框区域 --> <div class="search-box"> <input type="text" id="search-input" placeholder="搜索你想要的宝贝..."> <button id="search-btn">搜索</button> </div> <!-- 搜索下拉面板(默认隐藏,点击搜索框显示) --> <div class="search-dropdown" id="search-dropdown"> <!-- 历史搜索 --> <div class="dropdown-section"> <h3 class="section-title">历史搜索</h3> <ul class="history-list" id="history-list"> <li class="history-item" onclick="goToResult('二手笔记本电脑')">二手笔记本电脑</li> <li class="history-item" onclick="goToResult('闲置连衣裙')">闲置连衣裙</li> <li class="history-item" onclick="goToResult('家用咖啡机')">家用咖啡机</li> <li class="history-item" onclick="goToResult('考研真题')">考研真题</li> </ul> </div> <!-- 推荐搜索 --> <div class="dropdown-section"> <h3 class="section-title">大家都在搜</h3> <ul class="recommend-list" id="recommend-list"> <li class="recommend-item" onclick="goToResult('二手手机')">二手手机</li> <li class="recommend-item" onclick="goToResult('露营装备')">露营装备</li> <li class="recommend-item" onclick="goToResult('儿童绘本')">儿童绘本</li> <li class="recommend-item" onclick="goToResult('厨房小家电')">厨房小家电</li> </ul> </div> </div> </div> <!-- 搜索结果页面(默认隐藏) --> <div class="result-page" id="result-page" style="display: none;"> <div class="back-btn" onclick="goBack()">← 返回搜索</div> <h2 class="result-title" id="result-title">搜索结果:</h2> <p class="result-tip">点击历史/推荐项后,此处会显示对应关键词的搜索结果(实际项目中需对接后端接口)</p > </div> </div> <!---内容区外壳(自适应铺满高度)---> <div class="BodyContentSurface"> <!---内容区---> <div class="BodyContent"> <!---左侧导航栏(固定位置宽度:200px)---> <div class="LeftNavigationSurface"> <div class="left1"> <a href=""><div class="left-bq">首页</div></a> </div> <div class="left"> <a href=""><div class="left-bq">消息</div></a> </div> <div class="left"> <a href=""><div class="left-bq">个人</div></a> </div> </div> <!---右侧内容区(自适应铺满宽度)---> <div class="RightContentSurface"> <!-- -右侧内容区- --> <div class="RightContent"> <!-- 非框架区域待完成--> <div class="content"> <!-- 非框架区域的内容待完成--> </div> </div> </div> </div> </div> </div> </body> </html>
09-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值