添加删除完善性功能——javascript循环添加与循环删除

Win11高DPI屏幕下鼠标指针模糊、太小看不清?一招教你完美适配4K/2K显示器 本文详细介绍了Win11在高DPI屏幕下鼠标指针模糊、太小看不清的解决方案,包括系统级优化、专业设计场景配置和硬件级解决方案。通过调整指针尺寸、颜色方案和注册表设置,帮助用户完美适配4K/2K显示器,提升视觉体验和工作效率。 阅读详情

业务:添加删除权限的完善性功能,一是循环添加(子选父必选),一是循环删除(父删子必删)。

循环添加没有问题:

//递归,循环添加父
function addParent(chkValue) {
	var pNode = document.getElementById(chkValue);
	if(pNode!=null){
		pNode.checked = true;
		$.get("permissionAction!grantPermission?roleId=" + roleId + "&menuId=" + pNode.id + "¶m=true", function(data, status){
		});
		addParent(pNode.value);
	}
}


循环删除:

初始版:

function delSon(menuId) {
	var dd = document.getElementsByName("checkbox");
	for(i=0; i<dd.length; i++) {
		if(dd[i].value == menuId) {
			dd[i].checked = false;
			//$.get("permissionAction!grantPermission?roleId=" + roleId + "&menuId=" + dd[i].id + "¶m=false", function(data, status){
			});
			delSon(dd[i].id);
		}
	}
}

 

不同于一根树跑到底的循环添加(一个子节点只有一个父节点),循环删除的时候,一个父节点可能有多个子节点,子节点下有可有多个子子节点。第一版的运行结果就是,只能删除父节点的第一个子节点下的全部节点(测试数据为3层树)。原因:一重循环,循环内部调用递归方法,已经跳出了循环;只有叶子结点没有子节点,不会调用递归,循环才会执行完毕。

(调试时可先如上把jquery注掉,以便测试;javascript测试,可在html页面里方便调试)

修正实现版:

var ddd = document.getElementsByName("checkbox");
//循环删除子节点
function delSon(menuId) {
	for(i=0; i<ddd.length; i++){
		var chk1 = document.getElementById(ddd[i].id);
		if(menuId == ddd[i].value){
			chk1.checked = false;
		}else if(findParent(ddd[i].value, menuId)){
			chk1.checked = false;
		}else{
			alert("这个是你点击的那个或者是不能删除的!");
		}
	}
}
function findParent(chkValue, num) {
	var flag = false;
	var pNode = document.getElementById(chkValue);	//父节点
	if(pNode!=null){
		if(pNode.value == num){
			flag = true;
			return flag;
		}else{
			findParent(pNode.value, flag);
		}
	}
	return flag;
}
 

 

业务:上面的问题,我其实钻入了业务盲点,删除需谨慎,数据是大计,循环删除更是忌中忌。

子选父必选,循环添加,没有问题;而父删子必删,循环删除,就有点危险了。故业务变更为“存在子,则不能删除父”,谨防错删、多删。

最终版本:

//jquery添加删除权限(修改权限)
function permission(chk) {
	var roleId = <%=roleId%>;
	var menuId = chk.id;
	if(chk.checked == true) {
		//子选父必选,添加子同时添加父
		addParent(chk.value);
		$.get("permissionAction!grantPermission?roleId=" + roleId + "&menuId=" + menuId + "¶m=true", function(data, status){
		});
	} else {
		//存在子菜单,不能删除父菜单
		if(!delSon(menuId)) {
			chk.checked = true;
		} else {
			$.get("permissionAction!grantPermission?roleId=" + roleId + "&menuId=" + menuId + "¶m=false", function(data, status){
			});
		}
	}
}
//判断是否可以删除菜单,存在子菜单则不能删除
function delSon(menuId) {
	var dd = document.getElementsByName("checkbox");
	for(i=0; i<dd.length; i++) {
		if(menuId == dd[i].value) {
			alert("请先删除子菜单!");
			return false;
		}
	}
	return true;
}

//递归,循环添加父
function addParent(chkValue) {
	var pNode = document.getElementById(chkValue);
	if(pNode!=null){
		pNode.checked = true;
		$.get("permissionAction!grantPermission?roleId=" + roleId + "&menuId=" + pNode.id + "¶m=true", function(data, status){
		});
		addParent(pNode.value);
	}
}


 

Win7系统中Chrome浏览器字体模糊的终极解决方案 本文针对Windows 7系统下Chrome浏览器字体模糊、发虚的常见问题,提供了从根源分析到具体解决方案的完整指南。核心在于解决Chrome与Win7系统在DirectWrite字体渲染技术上的兼容性问题。文章详细介绍了通过禁用Chrome实验性功能中的DirectWrite、调整系统ClearType设置以及优化高DPI缩放等步骤,帮助用户快速恢复清晰的网页字体显示。 阅读详情

相关推荐

Win10高分辨率屏幕下Photoshop CS6字体模糊?3步搞定DPI缩放设置(附实测对比图)

本文针对Win10高分辨率屏幕下Photoshop CS6字体模糊问题,提供了详细的解决方案。核心是通过调整Windows兼容性设置中的DPI缩放行为,只需三步即可显著改善界面清晰度。文章还探讨了问题根源、进阶优化方案及性能影响,帮助用户让这款经典设计软件在现代硬件上焕发新生。

weixin_28487433的博客 489

win10第三方软件模糊_Win10解决2K、4K分辨率软件界面与文变小、字体模糊

如今现在很多用户使用2K、4K高分屏,例如2560*1440分辨率,3840×2160分辨率,屏幕分辨率高可能会导致部分未适配Win10的软件程序显示不尽人意,例如出现软件界面变小,软件字体模糊等问题。那么我们要如何解决这个问题呢?下面装机之家分享一下Win10系统2K、4K分辨率软件界面变小、文很小、字体模糊解决方法。解决方法:1、首先我们点击“开始菜单”,点击“设置”按钮,在Windows...

weixin_30724041的博客 1万+

Python获取Windows屏幕真实物理分辨率与DPI缩放:告别高分屏模糊与窗口错位

Windows桌面应用开发中,屏幕分辨率与DPI缩放是影响界面精准适配的核心概念。物理分辨率指显示器硬件的实际像素网格,而逻辑分辨率则是操作系统与应用感知的虚拟尺寸,两者通过缩放比例进行换算。理解这一机制对于实现跨DPI环境的一致体验至关重要,尤其在Python开发GUI程序、自动化脚本或屏幕操作工具时,能有效解决截图区域错位、UI元素模糊等问题。通过调用Windows原生API,开发者可以准确获取每台显示器的真实物理分辨率、逻辑分辨率及独立缩放比例,从而确保程序在高分屏与多显示器混合环境下精准运行。本文

weixin_34377919的博客 340

笔记本高分屏字体模糊_新买的电脑显示模糊是怎么一回事?

最近有小伙伴来后台询问#刚买的新电脑为什么显示模糊?随着科技的进步人们对于屏幕的要求也越来越 “挑剔”要高清、要高刷新率、要低功耗挑来挑去好不容易找到一个合适的满心欢喜点亮 ta结果却发现这显示咋这么模糊呢?相信许多小伙伴都有这样疑惑又烦躁的经历别慌,惠课厅君告诉你:不怪新电脑,怪没设置好!1显示模糊是谁的错?①第三方软件不兼容由于在很长的一段时间,PC 的分辨率被 720p 所支配...

weixin_33268464的博客 2469

笔记本高分屏字体模糊_高色域+高分辨率轻薄本推荐,你需要2K屏笔记本电脑么?...

今天我们来说一个比较冷门的话题:笔记本屏幕的分辨率和色域问题。在笔记本的选购中,屏幕素质是用户购买时比较容易忽略的问题。大多数人都关心配置、性价比的问题,很少人会去注意屏幕参数。这也导致一些厂商会在屏幕素质上偷工减料。另一方面,一些用户又过度在意屏幕参数了。直接4K+144Hz+100%sRGB我都要,为一块屏幕付出了太多成本,其实也并不值得。如何去挑选一块适合自己的屏幕呢?我们今天就来讲讲这个话...

weixin_39844942的博客 1657

笔记本高分屏字体模糊_别浪费了你的高分屏

随着笔记本配置越来越高,除了提升各项性能参数外,屏幕分辨率也越来越高,大家都在追求更强的性能和更高的分辨率,有些13英寸的笔记本甚至采用4K分辨率,参数好看了,但除此之外,功耗提升续航时间下降甚至被称为:“瞎眼屏”!由于分辨率过高,导致图标和文显示非常小,不得不通过放大屏幕DPI的方法让内容显示得刚刚好。但是又发现DPI调整过大,又显示的比较模糊,那屏幕DPI调整到多少最为适宜呢?又如...

weixin_39534780的博客 2271

笔记本高分屏字体模糊_笔记本屏幕分辨率是否越大越好

  相信大家对屏幕分辨率这个问题都是很懵的,笔记本屏幕分辨率是否越大越好?屏幕种类有哪些?下面将会介绍这两个问题。  笔记本电脑屏幕分辨率并不是越大越好,针对这个问题,其实也没什么准确的答案,主要看大家的感觉,分辨率越高一把画质越清晰,但字体也相应会越小,多数笔记本在分辨率最高的情况下使用比较好。笔记本屏幕分辨率越大越好吗?  根据实际的使用需求和感觉来决定,图形设计,编程需要在屏幕内显示尽可能多...

weixin_36278243的博客 337

android 2k 屏幕 字体模糊,显示字体小到有些模糊?高分屏别忘了这些设置

原标题:显示字体小到有些模糊?高分屏别忘了这些设置“BOSS,你这字体太小了吧”“我才搞定新显卡,用上了2K屏”……好吧,小狮子不知趣地又拿BOSS开涮了,相比喜欢精细显示的BOSS,小狮子显然更喜欢号大点,舒服一些,不知道钛师父的小伙伴们在办公的时候喜欢怎样的显示字体?口碑不佳的高分屏体验高分辨率一直都是显示器和笔记本发展的重点,或许4K分辨率离大众有些远,但2K普及的速度还是很快的,可麻烦...

weixin_35255032的博客 5206

win10很多软件显示模糊_显示字体小到有些模糊?高分屏别忘了这些设置

“BOSS,你这字体太小了吧”“我才搞定新显卡,用上了2K屏”……好吧,小狮子不知趣地又拿BOSS开涮了,相比喜欢精细显示的BOSS,小狮子显然更喜欢号大点,舒服一些,不知道钛师父的小伙伴们在办公的时候喜欢怎样的显示字体?口碑不佳的高分屏体验高分辨率一直都是显示器和笔记本发展的重点,或许4K分辨率离大众有些远,但2K普及的速度还是很快的,可麻烦的是Win 10对于高分屏的显示支持似乎...

weixin_39637203的博客 1037

win10分辨率设置_显示字体小到有些模糊?高分屏别忘了这些设置

“BOSS,你这字体太小了吧”“我才搞定新显卡,用上了2K屏”……好吧,小狮子不知趣地又拿BOSS开涮了,相比喜欢精细显示的BOSS,小狮子显然更喜欢号大点,舒服一些,不知道钛师父的小伙伴们在办公的时候喜欢怎样的显示字体?口碑不佳的高分屏体验高分辨率一直都是显示器和笔记本发展的重点,或许4K分辨率离大众有些远,但2K普及的速度还是很快的,可麻烦的是Win 10对于高分屏的显示支持似乎一直不怎么...

weixin_39929877的博客 2500

Windows:缩放设置及DPI缩放详解

再次遇到软件在显示器上不能显示完全的情况,同样的分辨率同样的软件,一台显示正常一台显示不全。造成这个原因的是在相同分辨率下其设置不同 缩放 比例问题导致,这里记录一下windwos系统如何设置缩放操作和缩放对应的技术点是什么。

guyuelin123的博客 3万+

3分钟快速美化:macOS鼠标指针让你的Windows桌面焕然一新

你是否厌倦了Windows系统千篇一律的鼠标指针样式?每天面对同样的白色箭头,是否感觉桌面体验缺乏新鲜感?在4K高分辨率屏幕上,默认指针是否显得模糊不清,影响了你的视觉体验和工作效率?macOS Cursors for Windows正是为你准备的完美解决方案——这是一个免费开源的鼠标指针美化项目,专门为Windows用户带来原汁原味的macOS指针体验,特别针对高分辨率显示器进行了优化设计。

gitblog_00774的博客 166

PyQt5 UI自适应与高DPI缩放:从原理到实战的完整指南

在现代桌面应用开发中,UI自适应与高DPI支持是构建跨平台、多分辨率应用的核心技术。其原理基于设备像素比(DPR)和逻辑像素的概念,通过Qt框架的高DPI缩放策略实现设备无关渲染。这项技术的价值在于确保应用在不同屏幕分辨率和系统缩放比例下保持视觉一致性和可用性,避免界面错乱或模糊。在PyQt5开发中,通过启用Qt::AA_EnableHighDpiScaling属性、合理使用布局管理器(如QHBoxLayout、QVBoxLayout)以及设置控件的尺寸策略,可以构建健壮的自适应界面。典型应用场景包括数据可

weixin_34194087的博客 412

终极Windows指针美化指南:如何用macOS风格鼠标指针提升桌面体验

你是否厌倦了Windows系统单调的鼠标指针?是否在使用4K显示器时发现默认指针太小看不清?macOS Cursors for Windows项目为你提供了完美的解决方案。这个开源工具包让你能在Windows 10和11系统上免费体验macOS风格的精致鼠标指针,支持4K高分辨率显示器,提供12种不同组合选择,让你的桌面焕然一新。 ## 🎯 痛点分析:Windows用户的鼠标指针烦恼 **视

gitblog_00246的博客 441

WindowResizer:3分钟学会强制调整任何Windows窗口大小

你是否曾经遇到过这样的情况:某个老旧软件的窗口太小,文模糊不清;某个应用程序的窗口无法拖动调整大小;或者想在多显示器环境下优化窗口布局却无从下手?**WindowResizer**正是为解决这些Windows窗口管理难题而生的开源神器。这款基于C++开发的免费工具能够**强制调整任意应用程序窗口尺寸**,让你重新掌控桌面布局的主动权,彻底告别那些顽固的、无法调整的窗口困扰。 ## 🖥️ 工具

gitblog_00395的博客 384

三分屏桌面管理:从窗口布局到工作流优化的效率革命

窗口管理是提升计算机操作效率的基础技术,其核心原理在于通过合理的屏幕空间划分,减少任务切换的认知负荷,优化信息处理流。在工程实践中,高效的多任务处理依赖于对信息密度与操作深度的平衡,这直接关系到工作流优化和专注力提升。三分屏作为一种经典的桌面管理策略,通过将显示器划分为三个功能明确、尺寸可调的区域,实现了信息广度与操作深度的最佳妥协。它不仅仅是视觉排列,更是对工作记忆的物理外化,能显著降低在不同应用间切换的干扰。无论是软件开发、数据分析还是内容创作,掌握三分屏的精髓,结合PowerToys FancyZon

aigui1439的博客 372

Windows系统鼠标指针美化:Material Design风格方案部署与深度定制指南

鼠标指针作为人机交互的核心视觉元素,其设计直接影响用户体验与操作效率。从技术原理看,Windows指针方案由一系列.cur(静态)和.ani(动画)光标文件构成,通过系统注册表进行方案管理。其技术价值在于以极低的系统资源开销,实现系统级UI视觉统一与个性化定制,尤其在高分辨率屏幕和深色主题日益普及的今天,一套清晰、现代的指针方案能显著提升视觉舒适度和操作专注度。在应用场景上,它不仅服务于普通用户的桌面美化需求,更对开发者、设计师等专业人群的多屏协作、演示教学等场景具有实用意义。本文以Material Des

weixin_28745565的博客 301

Windows多显示器DPI控制:告别缩放混乱,一键精准调校

你是否曾经在连接多个显示器时,发现文忽大忽小、图标比例失调?特别是当你同时使用4K高分辨率显示屏和1080p普通显示器时,Windows自带的DPI缩放设置总是捉襟见肘。SetDPI正是为了解决这个痛点而生——一个轻量级的命令行工具,让你能够像调音师一样精准控制每个显示器的缩放比例。 ## 多显示器工作者的真实困境 想象一下这样的场景:你正在用主显示器编写代码,副显示器查阅文档。主显示器是2

gitblog_00789的博客 79
上一篇: EJB项目:角色授权(三)
下一篇: 占位
林竟
博客等级 码龄17年 109粉丝 198原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值