让一组div显示和隐藏的jquery特效

本文介绍了一种优化多个div和button交互的方法,通过使用数组存储元素关系并编写函数来简化代码,实现点击特定按钮时仅显示对应的div,同时隐藏其他div。

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

先说明需求:一个页面有多个div和button,一个div对应一个button,需要在点击的某个button的时候,显示对应的div,其余div隐藏

很简单,挨个写事件,在每个button的单击事件写入让本button对应的div显示,其他的隐藏。直接上代码:

$(document).ready(function(){

	$('#btn-div1').click(function(){
		$("#div1").show();
		$("#div2").hide();
		$("#div3").hide();
		$("#div4").hide();
	});

	$('#btn-div2').click(function(){
		$("#div1").hide();
		$("#div2").show();
		$("#div3").hide();
		$("#div4").hide();
	});

	$('#btn-div3').click(function(){
		$("#div1").hide();
		$("#div2").hide();
		$("#div3").show();
		$("#div4").hide();
	});

	$('#btn-div4').click(function(){
		$("#div1").show();
		$("#div2").hide();
		$("#div3").hide();
		$("#div4").show();
	});

});

很好不是吗,解决了问题,已测试正常通过,nice work。

但是,雇主忽然又来了消息:需要加五组button和div。对很简单,再继续写上去,我估计换谁都有点不情愿了,设想一下,如果用户再让添加十个呢?二十个呢?更多呢?

得优化代码啊,效率啥的先不说,至少不能一直这样做很多无用功啊。

想了半天,用一个数组组织关系对,然后用函数优化操作,上代码:

$(document).ready(function(){  
	$("#div1").show();
	var name = ['#div1', '#div2', '#div3', '#div4'];
	$('#btn-div1').click(function(){
		test(0, name);
	});
	$('#btn-div2').click(function(){
		test(1, name);
	});
	$('#btn-div3').click(function(){
		test(2, name);
	});
	$('#btn-div4').click(function(){
		test(3, name);
	});
});

function test(m, name){
	$.each(name, function(n, item){
		if(m == n){
			$(item).show();
		}else{
			$(item).hide();
		}
	});
}

当有新的关系对添加进来,只需要在数组中添加新的元素,就OK,感觉代码也不是那么臃肿了,简洁,高效~

如果有什么更好的方法,请留言告诉我,分享就是快乐~








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值