读书人

多个图层的显示隐藏有关问题

发布时间: 2013-09-17 13:35:59 作者: rapoo

多个图层的显示隐藏问题
求助,请问以下代码能怎么样简写?

function frshow_city(id){
if(id==1){
$("#fromcity_div1").show();
$("#fromcity_div2").hide();
$("#fromcity_div3").hide();
$("#fromcity_div4").hide();
$("#fromcity_div5").hide();
$("#fromcity_div6").hide();
$("#tocity_div1").hide();
$("#tocity_div2").hide();
$("#tocity_div3").hide();
$("#tocity_div4").hide();
$("#tocity_div5").hide();
$("#tocity_div6").hide();
}
else if(id==2){
$("#fromcity_div1").hide();
$("#fromcity_div2").show();
$("#fromcity_div3").hide();
$("#fromcity_div4").hide();
$("#fromcity_div5").hide();
$("#fromcity_div6").hide();
$("#tocity_div1").hide();
$("#tocity_div2").hide();
$("#tocity_div3").hide();
$("#tocity_div4").hide();
$("#tocity_div5").hide();
$("#tocity_div6").hide();
}
.......
[解决办法]
一: 使用空格间隔 即可在一行选择
$("#tocity_div2 #tocity_div3").show();

二: 给那写编号的区域都加个 class 例如 class='testClass'
然后 $(".testClass").show();

三: 在那些区域外面 增加个 div 例如 <div id='testDiv'> </div>
然后 $("#testDiv").show();
[解决办法]
试试数组~学的不精
[解决办法]
用一个变量保存以前显示的dom
var orgCity=null;
全部需要隐藏的写成一个函数
function hide_tocity(){
$("#tocity_div1").hide();
$("#tocity_div2").hide();
$("#tocity_div3").hide();
$("#tocity_div4").hide();
$("#tocity_div5").hide();
$("#tocity_div6").hide();
};
function frshow_city(id){
if(orgCity)orgCity.hide();
orgCity = $("#fromcity_div"+id);
orgCity.show();
hide_tocity();
}

[解决办法]

引用:
Quote: 引用:

function frshow_city(id){
$([id^='fromcity_div']).hide();
$('#fromcity_div' + id).show();


}



你好,能不能给我讲一下id^='fromcity_div',我想不明白

5楼讲了,就是那样
[解决办法]
引用:
Quote: 引用:

function frshow_city(id){
$([id^='fromcity_div']).hide();
$('#fromcity_div' + id).show();
}


你好,能不能给我讲一下id^='fromcity_div',我想不明白

应该是这样
function frshow_city(id){
$("[id^='fromcity_div']").hide();
$('#fromcity_div' + id).show();
}

[解决办法]
数组做个循环试试看

读书人网 >JavaScript

热点推荐